diff --git a/doc/README.md b/doc/README.md index 4fafb9f575b8..84f2519d35ef 100644 --- a/doc/README.md +++ b/doc/README.md @@ -36,7 +36,7 @@ If the build succeeds, the manual will be in `./result/share/doc/nixpkgs/manual. ### Development environment -In order to reduce repetition, consider using tools from the provided development environment: +To reduce repetition, consider using tools from the provided development environment: Load it from the Nixpkgs documentation directory with diff --git a/doc/build-helpers.md b/doc/build-helpers.md index f11deafdc24d..8b38a79ceff4 100644 --- a/doc/build-helpers.md +++ b/doc/build-helpers.md @@ -25,6 +25,5 @@ build-helpers/dev-shell-tools.chapter.md build-helpers/special.md build-helpers/images.md hooks/index.md -languages-frameworks/index.md packages/index.md ``` diff --git a/doc/doc-support/package.nix b/doc/doc-support/package.nix index 3cc6daa32863..f2c37df39132 100644 --- a/doc/doc-support/package.nix +++ b/doc/doc-support/package.nix @@ -73,6 +73,7 @@ stdenvNoCC.mkDerivation ( ../anchor.min.js ../manpage-urls.json ../redirects.json + ../nav.json ] ); }; @@ -116,8 +117,8 @@ stdenvNoCC.mkDerivation ( --script ./highlightjs/loader.js \ --script ./anchor.min.js \ --script ./anchor-use.js \ - --toc-depth 1 \ - --section-toc-depth 1 \ + --sidebar-depth 3 \ + --nav ./nav.json \ manual.md \ out/index.html diff --git a/doc/first-package.chapter.md b/doc/first-package.chapter.md new file mode 100644 index 000000000000..19a8583fea79 --- /dev/null +++ b/doc/first-package.chapter.md @@ -0,0 +1,84 @@ +# Package your first application {#chap-first-package} + +Package an application with Nixpkgs by picking the build helper for its language and setting a few attributes. + +Each language ecosystem has its own build helper. +See [](#chap-language-support) for the full set. + +## Package a Go application {#first-package-go} + +`buildGoModule` builds Go programs that use Go modules. + +Write the package to `package.nix`: + +:::{.example #ex-first-package-go} + +# Package `pet` with `buildGoModule` + +```nix +# package.nix +{ + buildGoModule, + fetchFromGitHub, + lib, +}: +buildGoModule (finalAttrs: { + pname = "pet"; + version = "0.3.4"; + + src = fetchFromGitHub { + owner = "knqyf263"; + repo = "pet"; + tag = "v${finalAttrs.version}"; + hash = "sha256-Gjw1dRrgM8D3G7v6WIM2+50r4HmTXvx0Xxme2fH9TlQ="; + }; + + vendorHash = "sha256-6hCgv2/8UIRHw1kCe3nLkxF23zE/7t5RDwEjSzX3pBQ="; + + meta = { + description = "Simple command-line snippet manager, written in Go"; + homepage = "https://github.com/knqyf263/pet"; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ kalbasit ]; + }; +}) +``` + +::: + +`buildGoModule` needs `pname`, `version`, `src`, and `vendorHash`. + +Pin Nixpkgs and call the package from `default.nix`: + +```nix +# default.nix +let + nixpkgs = fetchTarball "https://github.com/NixOS/nixpkgs/archive/nixos-unstable.tar.gz"; + pkgs = import nixpkgs { }; +in +pkgs.callPackage ./package.nix { } +``` + +Build it: + +```shell +$ nix-build ./default.nix +# or equivalent +$ nix-build +``` + +Run it: + +```shell +$ ./result/bin/pet --help +pet - Simple command-line snippet manager. +``` + +`vendorHash` pins the fetched dependencies. +To find its value: + +1. Set `vendorHash` to an empty string `""`. +2. Run `nix-build`. +3. Copy the correct value from the error into `vendorHash`. + +See the [Go reference](#sec-language-go) for every attribute and advanced usage. diff --git a/doc/languages-frameworks/beam.section.md b/doc/languages-frameworks/beam.section.md index 70ad1591be01..aec724999b66 100644 --- a/doc/languages-frameworks/beam.section.md +++ b/doc/languages-frameworks/beam.section.md @@ -125,7 +125,7 @@ There are 2 ways to package backend dependencies: either per-dependency mix2nix When writing an elixir project targeting `mixRelease`, you can also consider using [deps_nix](https://github.com/code-supply/deps_nix) with `mixNixDeps`. `deps_nix` supports git dependencies, but is intended to be added to the project's `mix.exs` directly. -###### mix2nix {#mix2nix} +##### mix2nix {#mix2nix} `mix2nix` is a cli tool available in Nixpkgs. It will generate a Nix expression from a `mix.lock` file. It is quite standard in the 2nix tool series. @@ -175,7 +175,7 @@ If there are git dependencies. You will need to run the build process once to fix the hash to correspond to your new git src. -###### FOD {#fixed-output-derivation} +##### FOD {#fixed-output-derivation} A fixed output derivation will download mix dependencies from the internet. To ensure reproducibility, a hash will be supplied. Note that mix is relatively reproducible. An FOD generating a different hash on each run hasn't been observed (as opposed to npm where the chances are relatively high). See [akkoma](https://github.com/NixOS/nixpkgs/blob/master/pkgs/by-name/ak/akkoma/package.nix) for a usage example of FOD. @@ -255,7 +255,7 @@ Setup will require the following steps: #### Example of creating a service for an Elixir - Phoenix project {#example-of-creating-a-service-for-an-elixir---phoenix-project} -In order to create a service with your release, you could add a `service.nix` +To create a service with your release, you could add a `service.nix` in your project with the following ```nix diff --git a/doc/languages-frameworks/haskell.section.md b/doc/languages-frameworks/haskell.section.md index f81c1b77d84e..9af8fe72b0e5 100644 --- a/doc/languages-frameworks/haskell.section.md +++ b/doc/languages-frameworks/haskell.section.md @@ -679,7 +679,7 @@ Defaults to `false`. `genericBuilderArgsModifier` : This argument accepts a function allowing you to modify the arguments passed -to `mkDerivation` in order to create the development environment. For example, +to `mkDerivation` to create the development environment. For example, `args: { doCheck = false; }` would cause the environment to not include any test dependencies. Defaults to `lib.id`. diff --git a/doc/languages-frameworks/index.md b/doc/languages-frameworks/index.md index 6e2438ebcb6a..b49653db4461 100644 --- a/doc/languages-frameworks/index.md +++ b/doc/languages-frameworks/index.md @@ -2,6 +2,10 @@ The [standard build environment](#chap-stdenv) makes it easy to build typical Autotools-based packages with very little code. Any other kind of package can be accommodated by overriding the appropriate phases of `stdenv`. However, there are specialised functions in Nixpkgs to easily build packages for other programming languages, such as Perl or Haskell. These are described in this chapter. +::: {.tip} +New to packaging? Start with [](#chap-first-package), then return here for the ecosystem you need. +::: + Each supported language or software ecosystem has its own package set named `Packages`, which can be explored in various ways: - Search on [search.nixos.org](https://search.nixos.org/packages) diff --git a/doc/languages-frameworks/maven.section.md b/doc/languages-frameworks/maven.section.md index e769b38ee744..b61c256ff322 100644 --- a/doc/languages-frameworks/maven.section.md +++ b/doc/languages-frameworks/maven.section.md @@ -341,7 +341,7 @@ The double invocation is a _simple_ way to get around the problem that `nix-buil It treats the entire Maven repository as a single source to be downloaded, relying on Maven's dependency resolution to satisfy the output hash. This is similar to fetchers like `fetchgit`, except it has to run a Maven build to determine what to download. -The first step will be to build the Maven project as a fixed-output derivation in order to collect the Maven repository -- below is an [example](https://github.com/fzakaria/nixos-maven-example/blob/main/double-invocation-repository.nix). +The first step will be to build the Maven project as a fixed-output derivation to collect the Maven repository -- below is an [example](https://github.com/fzakaria/nixos-maven-example/blob/main/double-invocation-repository.nix). ::: {.note} Traditionally the Maven repository is at `~/.m2/repository`. We will override this to be the `$out` directory. @@ -469,7 +469,7 @@ The previous example builds a `jar` file but that's not a file one can run. You need to use it with `java -jar $out/share/java/output.jar` and make sure to provide the required dependencies on the classpath. -The following explains how to use `makeWrapper` in order to make the derivation produce an executable that will run the JAR file you created. +The following explains how to use `makeWrapper` to make the derivation produce an executable that will run the JAR file you created. We will use the same repository we built above (either _double invocation_ or _buildMaven_) to setup a CLASSPATH for our JAR. diff --git a/doc/languages-frameworks/neovim.section.md b/doc/languages-frameworks/neovim.section.md index 78e9bf714013..5846417eb0a0 100644 --- a/doc/languages-frameworks/neovim.section.md +++ b/doc/languages-frameworks/neovim.section.md @@ -152,7 +152,7 @@ For example, if upstream documents that a plugin uses the Vim license but GitHub ## LuaRocks based plugins {#neovim-luarocks-based-plugins} -In order to automatically handle plugin dependencies, several Neovim plugins +To automatically handle plugin dependencies, several Neovim plugins upload their package to [LuaRocks](https://www.luarocks.org). This means less work for nixpkgs maintainers in the long term as dependencies get updated automatically. This means several Neovim plugins are first packaged as nixpkgs [lua packages](#packaging-a-library-on-luarocks), and converted via `buildNeovimPlugin` in diff --git a/doc/languages-frameworks/python.section.md b/doc/languages-frameworks/python.section.md index 809f397407a7..0a69d93bb745 100644 --- a/doc/languages-frameworks/python.section.md +++ b/doc/languages-frameworks/python.section.md @@ -1614,7 +1614,7 @@ looked at how you can create environments in which specified packages are available. At some point you'll likely have multiple packages which you would -like to be able to use in different projects. In order to minimise unnecessary +like to be able to use in different projects. To minimise unnecessary duplication we now look at how you can maintain a repository with your own packages. The important functions here are `import` and `callPackage`. @@ -1861,7 +1861,7 @@ pkgs.mkShell rec { pythonPackages.numpy pythonPackages.requests - # In this particular example, in order to compile any binary extensions they may + # In this particular example, to compile any binary extensions they may # require, the Python modules listed in the hypothetical requirements.txt need # the following packages to be installed locally: taglib @@ -2092,7 +2092,7 @@ See also [contributing section](#contributing). ### Are Python interpreters built deterministically? {#deterministic-builds} The Python interpreters are now built deterministically. Minor modifications had -to be made to the interpreters in order to generate deterministic bytecode. This +to be made to the interpreters to generate deterministic bytecode. This has security implications and is relevant for those using Python in a `nix-shell`. diff --git a/doc/languages-frameworks/rocq.section.md b/doc/languages-frameworks/rocq.section.md index af83d1e3790b..f2ba50312807 100644 --- a/doc/languages-frameworks/rocq.section.md +++ b/doc/languages-frameworks/rocq.section.md @@ -51,7 +51,7 @@ The recommended way of defining a derivation for a Rocq library, is to use the ` * if it is a string of the form `owner:branch` then it tries to download the `branch` of owner `owner` for a project of the same name using the same vcs, and the `version` attribute of the resulting derivation is set to `"dev"`, additionally if the owner is not provided (i.e. if the `owner:` prefix is missing), it defaults to the original owner of the package (see below), * if it is a string of the form `"#N"`, and the domain is github, then it tries to download the current head of the pull request `#N` from github, * `defaultVersion` (optional). Rocq libraries may be compatible with some specific versions of Rocq only. The `defaultVersion` attribute is used when no `version` is provided (or if `version = null`) to select the version of the library to use by default, depending on the context. This selection will mainly depend on a `rocq-core` version number but also possibly on other packages versions (e.g. `mathcomp`). If its value ends up to be `null`, the package is marked for removal in end-user `rocqPackages` attribute set. -* `release` (optional, defaults to `{}`), lists all the known releases of the library and for each of them provides an attribute set with at least a `hash` attribute (you may put the empty string `""` in order to automatically insert a fake hash, this will trigger an error which will allow you to find the correct hash), each attribute set of the list of releases also takes optional overloading arguments for the fetcher as below (i.e.`domain`, `owner`, `repo`, `rev`, `artifact` assuming the default fetcher is used) and optional overrides for the result of the fetcher (i.e. `version` and `src`). +* `release` (optional, defaults to `{}`), lists all the known releases of the library and for each of them provides an attribute set with at least a `hash` attribute (you may put the empty string `""` to automatically insert a fake hash, this will trigger an error which will allow you to find the correct hash), each attribute set of the list of releases also takes optional overloading arguments for the fetcher as below (i.e.`domain`, `owner`, `repo`, `rev`, `artifact` assuming the default fetcher is used) and optional overrides for the result of the fetcher (i.e. `version` and `src`). * `fetcher` (optional, defaults to a generic fetching mechanism supporting github or gitlab based infrastructures), is a function that takes at least an `owner`, a `repo`, a `rev`, and a `hash` and returns an attribute set with a `version` and `src`. * `repo` (optional, defaults to the value of `pname`), * `owner` (optional, defaults to `"rocq-community"`). @@ -153,7 +153,7 @@ For example, assuming you have a special `mathcomp` dependency you want to use, multinomials.override { mathcomp = my-special-mathcomp; } ``` -In Nixpkgs, all Rocq derivations take a `version` argument. This can be overridden in order to easily use a different version: +In Nixpkgs, all Rocq derivations take a `version` argument. This can be overridden to easily use a different version: ```nix rocqPackages.multinomials.override { version = "1.5.1"; } diff --git a/doc/languages-frameworks/ruby.section.md b/doc/languages-frameworks/ruby.section.md index cf2062845426..25407a074a3c 100644 --- a/doc/languages-frameworks/ruby.section.md +++ b/doc/languages-frameworks/ruby.section.md @@ -125,7 +125,7 @@ With this file in your directory, you can run `nix-shell` to build and use the g The `bundlerEnv` is a wrapper over all the gems in your gemset. This means that all the `/lib` and `/bin` directories will be available, and the executables of all gems (even of indirect dependencies) will end up in your `$PATH`. The `wrappedRuby` provides you with all executables that come with Ruby itself, but wrapped so they can easily find the gems in your gemset. -One common issue that you might have is that you have Ruby, but also `bundler` in your gemset. That leads to a conflict for `/bin/bundle` and `/bin/bundler`. You can resolve this by wrapping either your Ruby or your gems in a `lowPrio` call. So in order to give the `bundler` from your gemset priority, it would be used like this: +One common issue that you might have is that you have Ruby, but also `bundler` in your gemset. That leads to a conflict for `/bin/bundle` and `/bin/bundler`. You can resolve this by wrapping either your Ruby or your gems in a `lowPrio` call. So to give the `bundler` from your gemset priority, it would be used like this: ```nix # ... @@ -265,7 +265,7 @@ Now that you know how to get a working Ruby environment with Nix, it's time to g All gems in the standard set are automatically generated from a single `Gemfile`. The dependency resolution is done with `bundler` and makes it more likely that all gems are compatible with each other. -In order to add a new gem to nixpkgs, you can put it into the `/pkgs/development/ruby-modules/with-packages/Gemfile` and run `./maintainers/scripts/update-ruby-packages`. +To add a new gem to nixpkgs, you can put it into the `/pkgs/development/ruby-modules/with-packages/Gemfile` and run `./maintainers/scripts/update-ruby-packages`. To test that it works, you can then try using the gem with: diff --git a/doc/languages-frameworks/swift.section.md b/doc/languages-frameworks/swift.section.md index bb4599aa4fc3..76e4962fe9e3 100644 --- a/doc/languages-frameworks/swift.section.md +++ b/doc/languages-frameworks/swift.section.md @@ -160,7 +160,7 @@ This essentially runs: `swift test -c release` In some cases, it may be necessary to patch a SwiftPM dependency. SwiftPM dependencies are located in `.build/checkouts`, but the `swiftpm2nix` helper -provides these as symlinks to read-only `/nix/store` paths. In order to patch +provides these as symlinks to read-only `/nix/store` paths. To patch them, we need to make them writable. A special function `swiftpmMakeMutable` is available to replace the symlink diff --git a/doc/languages-frameworks/vim.section.md b/doc/languages-frameworks/vim.section.md index 2f3790d38547..91b59e3f0cab 100644 --- a/doc/languages-frameworks/vim.section.md +++ b/doc/languages-frameworks/vim.section.md @@ -153,7 +153,7 @@ Nix expressions for Vim plugins are stored in [pkgs/applications/editors/vim/plu When the vim updater detects an nvim-treesitter update, it also runs [`nvim-treesitter/update.py $(nix-build -A vimPlugins.nvim-treesitter)`](https://github.com/NixOS/nixpkgs/blob/master/pkgs/applications/editors/vim/plugins/utils/update.py) to update the tree sitter grammars for `nvim-treesitter`. -Some plugins require overrides in order to function properly. Overrides are placed in [overrides.nix](https://github.com/NixOS/nixpkgs/blob/master/pkgs/applications/editors/vim/plugins/overrides.nix). Overrides are most often required when a plugin requires some dependencies, or extra steps are required during the build process. For example `deoplete-fish` requires both `deoplete-nvim` and `vim-fish`, and so the following override was added: +Some plugins require overrides to function properly. Overrides are placed in [overrides.nix](https://github.com/NixOS/nixpkgs/blob/master/pkgs/applications/editors/vim/plugins/overrides.nix). Overrides are most often required when a plugin requires some dependencies, or extra steps are required during the build process. For example `deoplete-fish` requires both `deoplete-nvim` and `vim-fish`, and so the following override was added: ```nix { diff --git a/doc/manual.md.in b/doc/manual.md.in index 8d75d0fe459e..4bb047ef621e 100644 --- a/doc/manual.md.in +++ b/doc/manual.md.in @@ -3,6 +3,7 @@ ```{=include=} chapters preface.chapter.md +first-package.chapter.md ``` ```{=include=} parts @@ -17,6 +18,10 @@ contributing.md interoperability.md ``` +```{=include=} chapters +languages-frameworks/index.md +``` + ```{=include=} appendix html:into-file=//release-notes.html release-notes/release-notes.md ``` diff --git a/doc/nav.json b/doc/nav.json new file mode 100644 index 000000000000..15d4926421cf --- /dev/null +++ b/doc/nav.json @@ -0,0 +1,3 @@ +{ + "open": [] +} diff --git a/doc/packages/citrix.section.md b/doc/packages/citrix.section.md index f8530f4517a0..fe59f083a0b1 100644 --- a/doc/packages/citrix.section.md +++ b/doc/packages/citrix.section.md @@ -10,7 +10,7 @@ The tarball archive needs to be downloaded manually, as the license agreements o The [self-service](https://support.citrix.com/article/CTX200337) is an application for managing Citrix desktops and applications. Please note that this feature only works with at least `citrix_workspace_20_06_0` and later versions. -In order to set this up, you first have to [download the `.cr` file from the Netscaler Gateway](https://its.uiowa.edu/support/article/102186). After that, you can configure the `selfservice` like this: +To set this up, you first have to [download the `.cr` file from the Netscaler Gateway](https://its.uiowa.edu/support/article/102186). After that, you can configure the `selfservice` like this: ```ShellSession $ storebrowse -C ~/Downloads/receiverconfig.cr @@ -19,7 +19,7 @@ $ selfservice ## Custom certificates {#sec-citrix-custom-certs} -The `Citrix Workspace App` in `nixpkgs` trusts several certificates [from the Mozilla database](https://curl.haxx.se/docs/caextract.html) by default. However, several companies using Citrix might require their own corporate certificate. On distros with imperative packaging, these certs can be stored easily in [`$ICAROOT`](https://citrix.github.io/receiver-for-linux-command-reference/), however, this directory is a store path in `nixpkgs`. In order to work around this issue, the package provides a simple mechanism to add custom certificates without rebuilding the entire package using `symlinkJoin`: +The `Citrix Workspace App` in `nixpkgs` trusts several certificates [from the Mozilla database](https://curl.haxx.se/docs/caextract.html) by default. However, several companies using Citrix might require their own corporate certificate. On distros with imperative packaging, these certs can be stored easily in [`$ICAROOT`](https://citrix.github.io/receiver-for-linux-command-reference/), however, this directory is a store path in `nixpkgs`. To work around this issue, the package provides a simple mechanism to add custom certificates without rebuilding the entire package using `symlinkJoin`: ```nix with import { config.allowUnfree = true; }; diff --git a/doc/packages/urxvt.section.md b/doc/packages/urxvt.section.md index 6fc33190b58b..4170e6b0c63e 100644 --- a/doc/packages/urxvt.section.md +++ b/doc/packages/urxvt.section.md @@ -22,7 +22,7 @@ rxvt-unicode.override { If the `configure` function returns an attrset without the `plugins` attribute, `availablePlugins` will be used automatically. -In order to add plugins but also keep all default plugins installed, it is possible to use the following method: +To add plugins but also keep all default plugins installed, it is possible to use the following method: ```nix rxvt-unicode.override { diff --git a/doc/packages/weechat.section.md b/doc/packages/weechat.section.md index b134dc35dc1f..cdc9ccba5a96 100644 --- a/doc/packages/weechat.section.md +++ b/doc/packages/weechat.section.md @@ -39,7 +39,7 @@ weechat.override { } ``` -In order to also keep all default plugins installed, it is possible to use the following method: +To also keep all default plugins installed, it is possible to use the following method: ```nix weechat.override { diff --git a/doc/redirects.json b/doc/redirects.json index b25568202d4d..1c1cb0676928 100644 --- a/doc/redirects.json +++ b/doc/redirects.json @@ -2,6 +2,9 @@ "chap-build-helpers-finalAttrs": [ "index.html#chap-build-helpers-finalAttrs" ], + "chap-first-package": [ + "index.html#chap-first-package" + ], "chap-release-notes": [ "release-notes.html#chap-release-notes" ], @@ -105,6 +108,9 @@ "ex-build-helpers-extendMkDerivation": [ "index.html#ex-build-helpers-extendMkDerivation" ], + "ex-first-package-go": [ + "index.html#ex-first-package-go" + ], "ex-modularServiceCompliance-nixos": [ "index.html#ex-modularServiceCompliance-nixos" ], @@ -131,6 +137,9 @@ "ex-writeShellApplication": [ "index.html#ex-writeShellApplication" ], + "first-package-go": [ + "index.html#first-package-go" + ], "friction-graphics": [ "index.html#friction-graphics" ], diff --git a/doc/stdenv/stdenv.chapter.md b/doc/stdenv/stdenv.chapter.md index afcc6cf807c1..d470f69d033d 100644 --- a/doc/stdenv/stdenv.chapter.md +++ b/doc/stdenv/stdenv.chapter.md @@ -776,7 +776,7 @@ By default, the flag `--disable-dependency-tracking` is added to the configure f ##### `dontFixLibtool` {#var-stdenv-dontFixLibtool} -By default, the configure phase applies some special hackery to all files called `ltmain.sh` before running the configure script in order to improve the purity of Libtool-based packages [^footnote-stdenv-sys-lib-search-path] . If this is undesirable, set this variable to true. +By default, the configure phase applies some special hackery to all files called `ltmain.sh` before running the configure script to improve the purity of Libtool-based packages [^footnote-stdenv-sys-lib-search-path] . If this is undesirable, set this variable to true. ##### `dontDisableStatic` {#var-stdenv-dontDisableStatic} @@ -939,7 +939,7 @@ The fixup phase performs (Nix-specific) post-processing actions on the files ins - It moves the `man/`, `doc/` and `info/` subdirectories of `$out` to `share/`. - It strips libraries and executables of debug information. -- On Linux, it applies the `patchelf` command to ELF executables and libraries to remove unused directories from the `RPATH` in order to prevent unnecessary runtime dependencies. +- On Linux, it applies the `patchelf` command to ELF executables and libraries to remove unused directories from the `RPATH` to prevent unnecessary runtime dependencies. - It rewrites the interpreter paths of shell scripts to paths found in `PATH`. E.g., `/usr/bin/perl` will be rewritten to `/nix/store/some-perl/bin/perl` found in `PATH`. See [](#patch-shebangs.sh) for details. #### Variables controlling the fixup phase {#variables-controlling-the-fixup-phase} @@ -1345,7 +1345,7 @@ $ echo $configureFlags Nix itself considers a build-time dependency as merely something that should previously be built and accessible at build time—packages themselves are on their own to perform any additional setup. In most cases, that is fine, and the downstream derivation can deal with its own dependencies. But for a few common tasks, that would result in almost every package doing the same sort of setup work—depending not on the package itself, but entirely on which dependencies were used. -In order to alleviate this burden, the setup hook mechanism was written, where any package can include a shell script that \[by convention rather than enforcement by Nix\], any downstream reverse-dependency will source as part of its build process. That allows the downstream dependency to merely specify its dependencies, and lets those dependencies effectively initialize themselves. No boilerplate mirroring the list of dependencies is needed. +To alleviate this burden, the setup hook mechanism was written, where any package can include a shell script that \[by convention rather than enforcement by Nix\], any downstream reverse-dependency will source as part of its build process. That allows the downstream dependency to merely specify its dependencies, and lets those dependencies effectively initialize themselves. No boilerplate mirroring the list of dependencies is needed. The setup hook mechanism is a bit of a sledgehammer though: a powerful feature with a broad and indiscriminate area of effect. The combination of its power and implicit use may be expedient, but isn’t without costs. Nix itself is unchanged, but the spirit of added dependencies being effect-free is violated even if the latter isn’t. For example, if a derivation path is mentioned more than once, Nix itself doesn’t care and makes sure the dependency derivation is already built just the same—depending is just needing something to exist, and needing is idempotent. However, a dependency specified twice will have its setup hook run twice, and that could easily change the build environment (though a well-written setup hook will therefore strive to be idempotent so this is in fact not observable). More broadly, setup hooks are anti-modular in that multiple dependencies, whether the same or different, should not interfere and yet their setup hooks may well do so. diff --git a/doc/style.css b/doc/style.css index c3c58e88637d..943ae736d7ff 100644 --- a/doc/style.css +++ b/doc/style.css @@ -34,10 +34,6 @@ body { } } -.list-of-examples { - display: none; -} - h1 { font-size: 2em; margin: 0.67em 0; @@ -131,6 +127,32 @@ body { padding-left: 1rem; padding-right: 1rem; } + + /* + See: https://developer.mozilla.org/en-US/docs/Web/API/Popover_API + + - :popover-open pseudo-class matches a popover element when it is in the showing state + - ::backdrop full-screen element placed directly behind popover + */ + nav.toc-sidebar:popover-open { + position: fixed; + inset: 0 auto 0 0; + width: min(20rem, 85vw); + height: 100dvh; + max-height: none; + margin: 0; + padding: 1rem; + overflow-y: auto; + overscroll-behavior: contain; + background: var(--background); + border: 0; + border-right: 0.0625rem solid #d8d8d8; + box-shadow: 0 0 1.5rem rgb(0 0 0 / 0.35); + } + + nav.toc-sidebar::backdrop { + background: rgb(0 0 0 / 0.5); + } } a { @@ -387,15 +409,6 @@ div.appendix dt { margin-top: 1em; } -div.book .toc dt, -div.appendix .toc dt { - margin-top: 0; -} - -.list-of-examples dt { - margin-top: 0; -} - div.book code, div.appendix code { padding: 0; @@ -408,17 +421,6 @@ div.appendix code { hyphens: none; } -div.book div.toc, -div.appendix div.toc { - margin-bottom: 3em; - border-bottom: 0.0625rem solid #d8d8d8; -} - -div.book div.toc dd, -div.appendix div.toc dd { - margin-left: 2em; -} - div.book span.command, div.appendix span.command { font-family: monospace; @@ -506,21 +508,48 @@ div.appendix .variablelist .term { nav.toc-sidebar { height: 100%; - overflow-y: none; padding: 0 1rem 2rem; - border-bottom: 0.0625rem solid #d8d8d8; +} + +/* menu button, shown on mobile, hidden on desktop */ +.toc-toggle { + display: inline-flex; + align-items: center; + margin: 0.75rem 0 0; + padding: 0.4rem 0.8rem; + border: 0.0625rem solid #d8d8d8; + border-radius: 0.25rem; + background: var(--background); + color: var(--main-text-color); + font: inherit; + cursor: pointer; + position: fixed; + top: 0.5rem; + left: 0.8rem; + z-index: 2; } nav.toc-sidebar .toc { margin-bottom: 0; } -nav.toc-sidebar .toc dl { +nav.toc-sidebar ol.toc, +nav.toc-sidebar ol.toc ol { + list-style: none; + margin: 0; + padding-left: 0; +} + +nav.toc-sidebar ol.toc ol { + padding-left: 1em; +} + +nav.toc-sidebar li { margin: 0; } -nav.toc-sidebar .toc dd { - margin-left: 1em; +nav.toc-sidebar summary { + cursor: pointer; } @media screen and (min-width: 768px) { @@ -542,14 +571,25 @@ nav.toc-sidebar .toc dd { } nav.toc-sidebar { + /* un-pop the drawer */ + display: block; + position: static; + inset: auto; + /* */ + margin: 0; grid-column: 1; grid-row: 2; max-height: none; overflow-y: auto; - border-bottom: none; + border: none; border-right: 0.0625rem solid #d8d8d8; } + /* Hide the toggle button on desktop */ + .toc-toggle { + display: none; + } + main.content { grid-column: 1 / -1; grid-row: 2; diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix index ae63778dcd31..b173625d8611 100644 --- a/maintainers/maintainer-list.nix +++ b/maintainers/maintainer-list.nix @@ -604,6 +604,12 @@ { fingerprint = "CE85 54F7 B9BC AC0D D648 5661 AB5F C04C 3C94 443F"; } ]; }; + ad030 = { + name = "Alex Dam"; + github = "ad030"; + githubId = 68517956; + email = "work.a.dam.030@proton.me"; + }; adam-tj = { github = "adam-tj"; githubId = 9314405; @@ -3384,6 +3390,13 @@ githubId = 4313548; name = "Ben Sparks"; }; + benhaskins = { + name = "Ben Haskins"; + email = "ben.haskins@spang.co.uk"; + github = "benhaskins"; + githubId = 179679961; + keys = [ { fingerprint = "bnYZE0VGodlVwh/eUlqGQsAHeSE0hBPbo2EN2LrGu0M"; } ]; + }; benhiemer = { name = "Benedikt Hiemer"; email = "ben.email@posteo.de"; @@ -6992,6 +7005,11 @@ githubId = 2096594; email = "Dietrich@Daroch.me"; }; + different-error = { + name = "Sanfer D'souza"; + github = "different-error"; + githubId = 9338001; + }; different-name = { name = "different-name"; email = "hello@different-name.dev"; @@ -14229,6 +14247,12 @@ githubId = 48174247; name = "Aleksandar Nesovic"; }; + kayoubi13 = { + email = "nix@foss-daily.org"; + github = "kayoubi13"; + githubId = 299534864; + name = "Kayoubi13"; + }; kazcw = { email = "kaz@lambdaverse.org"; github = "kazcw"; @@ -19998,6 +20022,11 @@ name = "Jakub Kądziołka"; keys = [ { fingerprint = "E576 BFB2 CF6E B13D F571 33B9 E315 A758 4613 1564"; } ]; }; + nielmin = { + name = "Daniel Hwang"; + github = "nielmin"; + githubId = 81798555; + }; nielsegberts = { email = "nix@nielsegberts.nl"; github = "nielsegberts"; @@ -20842,6 +20871,11 @@ githubId = 31112680; name = "oidro"; }; + ojii3 = { + github = "OJII3"; + githubId = 84656786; + name = "OJII3"; + }; ojsef39 = { name = "Josef Hofer"; github = "ojsef39"; diff --git a/nixos/doc/manual/default.nix b/nixos/doc/manual/default.nix index c8afe6167a7d..cf5c28358097 100644 --- a/nixos/doc/manual/default.nix +++ b/nixos/doc/manual/default.nix @@ -201,8 +201,7 @@ rec { --script ./highlightjs/loader.js \ --script ./anchor.min.js \ --script ./anchor-use.js \ - --toc-depth 1 \ - --chunk-toc-depth 1 \ + --sidebar-depth 2 \ ./manual.md \ $dst/${common.indexPath} diff --git a/nixos/doc/manual/release-notes/rl-2611.section.md b/nixos/doc/manual/release-notes/rl-2611.section.md index 3fbd21ee4f1d..3ec838a06844 100644 --- a/nixos/doc/manual/release-notes/rl-2611.section.md +++ b/nixos/doc/manual/release-notes/rl-2611.section.md @@ -14,6 +14,8 @@ - [scx_loader](https://github.com/sched-ext/scx-loader), a system daemon and DBus-based loader for sched_ext schedulers. `scxctl` is the command-line client for interacting with the loader, allowing users to switch schedulers, modes, and arguments dynamically. Available as [services.scx-loader](#opt-services.scx-loader.enable) +- [tap](https://github.com/bluesky-social/indigo/tree/main/cmd/tap), an ATProtocol firehose synchronisation utility. Available as [services.tap](#opt-services.tap.enable). + - [Nezha](https://github.com/nezhahq/nezha), a self-hosted, lightweight server and website monitoring and O&M tool. Available as [services.nezha](#opt-services.nezha.enable). - [mail-tlsa-check-exporter](https://github.com/ietf-tools/mail-tlsa-check-exporter), validates SMTP / IMAP server certificates against a TLSA record as a Prometheus exporter. Available as [services.prometheus.exporters.mail-tlsa-check](#opt-services.prometheus.exporters.mail-tlsa-check.enable). diff --git a/nixos/modules/installer/sd-card/sd-image-aarch64.nix b/nixos/modules/installer/sd-card/sd-image-aarch64.nix index 2f6db6ed8abf..107879c188f1 100644 --- a/nixos/modules/installer/sd-card/sd-image-aarch64.nix +++ b/nixos/modules/installer/sd-card/sd-image-aarch64.nix @@ -31,17 +31,25 @@ populateFirmwareCommands = let configTxt = pkgs.writeText "config.txt" '' - [pi3] - kernel=u-boot-rpi3.bin + kernel=u-boot.bin + # Boot in 64-bit mode. + arm_64bit=1 + + # U-Boot needs this to work, regardless of whether UART is actually used or not. + # Look in arch/arm/mach-bcm283x/Kconfig in the U-Boot tree to see if this is still + # a requirement in the future. + enable_uart=1 + + # Prevent the firmware from smashing the framebuffer setup done by the mainline kernel + # when attempting to show low-voltage or overtemperature warnings. + avoid_warnings=1 + + [pi3] # Otherwise the serial output will be garbled. core_freq=250 - [pi02] - kernel=u-boot-rpi3.bin - [pi4] - kernel=u-boot-rpi4.bin enable_gic=1 armstub=armstub8-gic.bin @@ -58,28 +66,24 @@ # (e.g. for USB device mode) or if USB support is not required. otg_mode=1 - [all] - # Boot in 64-bit mode. - arm_64bit=1 + [cm5] + dtoverlay=dwc2,dr_mode=host - # U-Boot needs this to work, regardless of whether UART is actually used or not. - # Look in arch/arm/mach-bcm283x/Kconfig in the U-Boot tree to see if this is still - # a requirement in the future. - enable_uart=1 - - # Prevent the firmware from smashing the framebuffer setup done by the mainline kernel - # when attempting to show low-voltage or overtemperature warnings. - avoid_warnings=1 + [pi5] + # On some revisions of the RPi5, U-Boot interprets picks up + # ghost inputs from the uart, interrupting the boot process. + # https://bugzilla.opensuse.org/show_bug.cgi?id=1251192 + enable_uart=0 ''; in '' (cd ${pkgs.raspberrypifw}/share/raspberrypi/boot && cp bootcode.bin fixup*.dat start*.elf $NIX_BUILD_TOP/firmware/) + cp ${pkgs.ubootRaspberryPiAarch64}/u-boot.bin firmware/u-boot.bin # Add the config cp ${configTxt} firmware/config.txt # Add pi3 specific files - cp ${pkgs.ubootRaspberryPi3_64bit}/u-boot.bin firmware/u-boot-rpi3.bin cp ${pkgs.raspberrypifw}/share/raspberrypi/boot/bcm2710-rpi-2-b.dtb firmware/ cp ${pkgs.raspberrypifw}/share/raspberrypi/boot/bcm2710-rpi-3-b.dtb firmware/ cp ${pkgs.raspberrypifw}/share/raspberrypi/boot/bcm2710-rpi-3-b-plus.dtb firmware/ @@ -88,12 +92,20 @@ cp ${pkgs.raspberrypifw}/share/raspberrypi/boot/bcm2710-rpi-zero-2-w.dtb firmware/ # Add pi4 specific files - cp ${pkgs.ubootRaspberryPi4_64bit}/u-boot.bin firmware/u-boot-rpi4.bin cp ${pkgs.raspberrypi-armstubs}/armstub8-gic.bin firmware/armstub8-gic.bin cp ${pkgs.raspberrypifw}/share/raspberrypi/boot/bcm2711-rpi-4-b.dtb firmware/ cp ${pkgs.raspberrypifw}/share/raspberrypi/boot/bcm2711-rpi-400.dtb firmware/ cp ${pkgs.raspberrypifw}/share/raspberrypi/boot/bcm2711-rpi-cm4.dtb firmware/ cp ${pkgs.raspberrypifw}/share/raspberrypi/boot/bcm2711-rpi-cm4s.dtb firmware/ + + # Add pi5 specific files + cp ${pkgs.raspberrypifw}/share/raspberrypi/boot/bcm2712-d-rpi-5-b.dtb firmware/ + cp ${pkgs.raspberrypifw}/share/raspberrypi/boot/bcm2712-rpi-5-b.dtb firmware/ + cp ${pkgs.raspberrypifw}/share/raspberrypi/boot/bcm2712-rpi-500.dtb firmware/ + cp ${pkgs.raspberrypifw}/share/raspberrypi/boot/bcm2712-rpi-cm5-cm4io.dtb firmware/ + cp ${pkgs.raspberrypifw}/share/raspberrypi/boot/bcm2712-rpi-cm5-cm5io.dtb firmware/ + cp ${pkgs.raspberrypifw}/share/raspberrypi/boot/bcm2712-rpi-cm5l-cm4io.dtb firmware/ + cp ${pkgs.raspberrypifw}/share/raspberrypi/boot/bcm2712-rpi-cm5l-cm5io.dtb firmware/ ''; populateRootCommands = '' mkdir -p ./files/boot diff --git a/nixos/modules/module-list.nix b/nixos/modules/module-list.nix index 692b4462c928..5c360229753f 100644 --- a/nixos/modules/module-list.nix +++ b/nixos/modules/module-list.nix @@ -193,6 +193,7 @@ ./programs/chrysalis.nix ./programs/clash-verge.nix ./programs/cnping.nix + ./programs/comma.nix ./programs/command-not-found/command-not-found.nix ./programs/coolercontrol.nix ./programs/corefreq.nix @@ -1428,6 +1429,7 @@ ./services/networking/tailscale-derper.nix ./services/networking/tailscale-serve.nix ./services/networking/tailscale.nix + ./services/networking/tap.nix ./services/networking/tayga.nix ./services/networking/tcpcrypt.nix ./services/networking/teamspeak3.nix @@ -1848,7 +1850,6 @@ ./services/web-servers/minio.nix ./services/web-servers/molly-brown.nix ./services/web-servers/nginx/default.nix - ./services/web-servers/nginx/gitweb.nix ./services/web-servers/nginx/tailscale-auth.nix ./services/web-servers/phpfpm/default.nix ./services/web-servers/pomerium.nix diff --git a/nixos/modules/programs/comma.nix b/nixos/modules/programs/comma.nix new file mode 100644 index 000000000000..89fa20fd4812 --- /dev/null +++ b/nixos/modules/programs/comma.nix @@ -0,0 +1,52 @@ +{ + lib, + config, + pkgs, + ... +}: + +let + cfg = config.programs.comma; +in +{ + options.programs.comma = { + enable = lib.mkEnableOption "comma"; + package = lib.mkPackageOption pkgs "comma" { }; + enableBashIntegration = lib.mkEnableOption "comma command-not-found handler for bash" // { + default = true; + }; + enableZshIntegration = lib.mkEnableOption "comma command-not-found handler for zsh" // { + default = true; + }; + enableFishIntegration = lib.mkEnableOption "comma command-not-found handler for fish" // { + default = true; + }; + }; + + config = lib.mkIf cfg.enable { + environment.systemPackages = [ cfg.package ]; + programs = { + bash.interactiveShellInit = lib.mkIf cfg.enableBashIntegration '' + source ${cfg.package}/share/comma/command-not-found.sh + ''; + zsh.interactiveShellInit = lib.mkIf cfg.enableZshIntegration '' + source ${cfg.package}/share/comma/command-not-found.sh + ''; + fish.interactiveShellInit = '' + source ${cfg.package}/share/comma/command-not-found.fish + ''; + + # Disable *other* command-not-found handlers + command-not-found.enable = lib.mkIf ( + cfg.enableBashIntegration || cfg.enableZshIntegration || cfg.enableFishIntegration + ) (lib.mkDefault false); + nix-index = { + enableBashIntegration = lib.mkIf (cfg.enableBashIntegration) (lib.mkDefault false); + enableZshIntegration = lib.mkIf (cfg.enableZshIntegration) (lib.mkDefault false); + enableFishIntegration = lib.mkIf (cfg.enableFishIntegration) (lib.mkDefault false); + }; + }; + }; + + meta.maintainers = with lib.maintainers; [ pandapip1 ]; +} diff --git a/nixos/modules/services/desktops/pipewire/pipewire.nix b/nixos/modules/services/desktops/pipewire/pipewire.nix index 4449c273c7ec..fb72bd695cec 100644 --- a/nixos/modules/services/desktops/pipewire/pipewire.nix +++ b/nixos/modules/services/desktops/pipewire/pipewire.nix @@ -11,11 +11,17 @@ let inherit (lib) maintainers teams; inherit (lib.attrsets) attrByPath - attrsToList concatMapAttrs filterAttrs + mapAttrs' + nameValuePair + ; + inherit (lib.lists) + elem + flatten + optional + optionals ; - inherit (lib.lists) flatten optional optionals; inherit (lib.modules) mkIf mkRemovedOptionModule; inherit (lib.options) literalExpression @@ -23,7 +29,7 @@ let mkOption mkPackageOption ; - inherit (lib.strings) concatMapStringsSep hasPrefix optionalString; + inherit (lib.strings) hasPrefix optionalString; inherit (lib.types) attrsOf bool @@ -32,17 +38,6 @@ let ; json = pkgs.formats.json { }; - mapToFiles = - location: config: - concatMapAttrs (name: value: { - "share/pipewire/${location}.conf.d/${name}.conf" = json.generate "${name}" value; - }) config; - extraConfigPkgFromFiles = - locations: filesSet: - pkgs.runCommand "pipewire-extra-config" { } '' - mkdir -p ${concatMapStringsSep " " (l: "$out/share/pipewire/${l}.conf.d") locations} - ${concatMapStringsSep ";" ({ name, value }: "ln -s ${value} $out/${name}") (attrsToList filesSet)} - ''; cfg = config.services.pipewire; enable32BitAlsaPlugins = cfg.alsa.support32Bit && pkgs.stdenv.hostPlatform.isx86_64 && pkgs.pkgsi686Linux.pipewire != null; @@ -58,11 +53,24 @@ let configPackages = cfg.configPackages; - extraConfigPkg = extraConfigPkgFromFiles [ "pipewire" "client" "jack" "pipewire-pulse" ] ( - mapToFiles "pipewire" cfg.extraConfig.pipewire - // mapToFiles "client" cfg.extraConfig.client - // mapToFiles "jack" cfg.extraConfig.jack - // mapToFiles "pipewire-pulse" cfg.extraConfig.pipewire-pulse + extraConfigPkg = pkgs.linkFarm "pipewire-extra-config" ( + concatMapAttrs + ( + location: config: + mapAttrs' ( + name: value: + nameValuePair "share/pipewire/${location}.conf.d/${name}.conf" (json.generate name value) + ) config + ) + # cfg.extraConfig contains deprecated options, i.e. client-rt + { + inherit (cfg.extraConfig) + pipewire + client + jack + pipewire-pulse + ; + } ); configs = pkgs.buildEnv { diff --git a/nixos/modules/services/misc/gitweb.nix b/nixos/modules/services/misc/gitweb.nix index 3030dc5c8285..65f923add2d5 100644 --- a/nixos/modules/services/misc/gitweb.nix +++ b/nixos/modules/services/misc/gitweb.nix @@ -6,7 +6,12 @@ }: let cfg = config.services.gitweb; - + cfgNginx = config.services.gitweb.nginx; + package = pkgs.gitweb.override ( + lib.optionalAttrs cfg.gitwebTheme { + gitwebTheme = true; + } + ); in { @@ -55,6 +60,104 @@ in internal = true; }; + nginx = { + enable = lib.mkOption { + default = false; + type = lib.types.bool; + description = '' + If true, enable gitweb in nginx. + ''; + }; + + location = lib.mkOption { + default = "/gitweb"; + type = lib.types.str; + description = '' + Location to serve gitweb on. + ''; + }; + + user = lib.mkOption { + default = "nginx"; + type = lib.types.str; + description = '' + Existing user that the CGI process will belong to. (Default almost surely will do.) + ''; + }; + + group = lib.mkOption { + default = "nginx"; + type = lib.types.str; + description = '' + Group that the CGI process will belong to. (Set to `config.services.gitolite.group` if you are using gitolite.) + ''; + }; + + virtualHost = lib.mkOption { + default = "_"; + type = lib.types.str; + description = '' + VirtualHost to serve gitweb on. Default is catch-all. + ''; + }; + }; + + }; + + imports = [ + (lib.mkRenamedOptionModule + [ "services" "nginx" "gitweb" "enable" ] + [ "services" "gitweb" "nginx" "enable" ] + ) + (lib.mkRenamedOptionModule + [ "services" "nginx" "gitweb" "location" ] + [ "services" "gitweb" "nginx" "location" ] + ) + (lib.mkRenamedOptionModule + [ "services" "nginx" "gitweb" "user" ] + [ "services" "gitweb" "nginx" "user" ] + ) + (lib.mkRenamedOptionModule + [ "services" "nginx" "gitweb" "group" ] + [ "services" "gitweb" "nginx" "group" ] + ) + (lib.mkRenamedOptionModule + [ "services" "nginx" "gitweb" "virtualHost" ] + [ "services" "gitweb" "nginx" "virtualHost" ] + ) + ]; + + config = lib.mkIf cfgNginx.enable { + + systemd.services.gitweb = { + description = "GitWeb service"; + script = "${package}/gitweb.cgi --fastcgi --nproc=1"; + environment = { + FCGI_SOCKET_PATH = "/run/gitweb/gitweb.sock"; + }; + serviceConfig = { + User = cfgNginx.user; + Group = cfgNginx.group; + RuntimeDirectory = [ "gitweb" ]; + }; + wantedBy = [ "multi-user.target" ]; + }; + + services.nginx = { + virtualHosts.${cfgNginx.virtualHost} = { + locations."${cfgNginx.location}/static/" = { + alias = "${package}/static/"; + }; + locations."${cfgNginx.location}/" = { + extraConfig = '' + include ${config.services.nginx.package}/conf/fastcgi_params; + fastcgi_param GITWEB_CONFIG ${cfg.gitwebConfigFile}; + fastcgi_pass unix:/run/gitweb/gitweb.sock; + ''; + }; + }; + }; + }; meta.maintainers = [ ]; diff --git a/nixos/modules/services/misc/ollama.nix b/nixos/modules/services/misc/ollama.nix index 4ba0ccb6db7d..547f4e0799e4 100644 --- a/nixos/modules/services/misc/ollama.nix +++ b/nixos/modules/services/misc/ollama.nix @@ -37,6 +37,18 @@ in "ollama" "acceleration" ] "Set `services.ollama.package` to one of `pkgs.ollama[,-vulkan,-rocm,-cuda,-cpu]` instead.") + (lib.mkRenamedOptionModule + [ + "services" + "ollama" + "models" + ] + [ + "services" + "ollama" + "modelsDir" + ] + ) ]; options = { @@ -91,7 +103,7 @@ in The home directory that the ollama service is started in. ''; }; - models = lib.mkOption { + modelsDir = lib.mkOption { type = types.str; default = "${cfg.home}/models"; defaultText = "\${config.services.ollama.home}/models"; @@ -207,7 +219,7 @@ in cfg.environmentVariables // { HOME = cfg.home; - OLLAMA_MODELS = cfg.models; + OLLAMA_MODELS = cfg.modelsDir; OLLAMA_HOST = "${cfg.host}:${toString cfg.port}"; } // lib.optionalAttrs (cfg.rocmOverrideGfx != null) { @@ -226,7 +238,7 @@ in StateDirectory = [ "ollama" ]; ReadWritePaths = [ cfg.home - cfg.models + cfg.modelsDir ]; CapabilityBoundingSet = [ "" ]; diff --git a/nixos/modules/services/networking/adguardhome.nix b/nixos/modules/services/networking/adguardhome.nix index 1df503146b54..caab4ba0c953 100644 --- a/nixos/modules/services/networking/adguardhome.nix +++ b/nixos/modules/services/networking/adguardhome.nix @@ -176,22 +176,32 @@ in StartLimitBurst = 10; }; - preStart = lib.optionalString (settings != null) '' - if [ -e "$STATE_DIRECTORY/AdGuardHome.yaml" ] \ - && [ "${toString cfg.mutableSettings}" = "1" ]; then - # First run a schema_version update on the existing configuration - # This ensures that both the new config and the existing one have the same schema_version - # Note: --check-config has the side effect of modifying the file at rest! - ${lib.getExe cfg.package} -c "$STATE_DIRECTORY/AdGuardHome.yaml" --check-config + preStart = + let + installFresh = '' + cp --force "${configFile}" "$STATE_DIRECTORY/AdGuardHome.yaml" + chmod 600 "$STATE_DIRECTORY/AdGuardHome.yaml" + ''; + in + lib.optionalString (settings != null) ( + if cfg.mutableSettings then + '' + if [ -e "$STATE_DIRECTORY/AdGuardHome.yaml" ]; then + # First run a schema_version update on the existing configuration + # This ensures that both the new config and the existing one have the same schema_version + # Note: --check-config has the side effect of modifying the file at rest! + ${lib.getExe cfg.package} -c "$STATE_DIRECTORY/AdGuardHome.yaml" --check-config - # Writing directly to AdGuardHome.yaml results in empty file - ${lib.getExe pkgs.yaml-merge} "$STATE_DIRECTORY/AdGuardHome.yaml" "${configFile}" > "$STATE_DIRECTORY/AdGuardHome.yaml.tmp" - mv "$STATE_DIRECTORY/AdGuardHome.yaml.tmp" "$STATE_DIRECTORY/AdGuardHome.yaml" - else - cp --force "${configFile}" "$STATE_DIRECTORY/AdGuardHome.yaml" - chmod 600 "$STATE_DIRECTORY/AdGuardHome.yaml" - fi - ''; + # Writing directly to AdGuardHome.yaml results in empty file + ${lib.getExe pkgs.yaml-merge} "$STATE_DIRECTORY/AdGuardHome.yaml" "${configFile}" > "$STATE_DIRECTORY/AdGuardHome.yaml.tmp" + mv "$STATE_DIRECTORY/AdGuardHome.yaml.tmp" "$STATE_DIRECTORY/AdGuardHome.yaml" + else + ${installFresh} + fi + '' + else + installFresh + ); serviceConfig = { DynamicUser = true; diff --git a/nixos/modules/services/networking/tap.nix b/nixos/modules/services/networking/tap.nix new file mode 100644 index 000000000000..bea84531014d --- /dev/null +++ b/nixos/modules/services/networking/tap.nix @@ -0,0 +1,131 @@ +{ + config, + lib, + pkgs, + ... +}: + +let + cfg = config.services.tap; +in +{ + options.services.tap = { + enable = lib.mkEnableOption "Tap, ATProtocol firehose sync utility"; + + package = lib.mkPackageOption pkgs "tap" { }; + + environmentFiles = lib.mkOption { + type = lib.types.listOf lib.types.path; + default = [ ]; + description = '' + Files to load environment variables from. Use for secrets such as + {env}`TAP_ADMIN_PASSWORD` that should not be readable in the Nix store. + ''; + }; + + settings = lib.mkOption { + default = { }; + description = '' + Configuration for Tap as environment variables. See the + [README](https://github.com/bluesky-social/indigo/blob/main/cmd/tap/README.md) + for all available options. + + Secrets such as {option}`settings.TAP_ADMIN_PASSWORD` should be set via + {option}`environmentFiles` rather than here, as values set here will + be readable in the Nix store. + ''; + type = lib.types.submodule { + freeformType = lib.types.attrsOf ( + lib.types.nullOr ( + lib.types.oneOf [ + lib.types.bool + lib.types.int + lib.types.float + lib.types.str + ] + ) + ); + + options = { + TAP_BIND = lib.mkOption { + type = lib.types.str; + default = "127.0.0.1:2480"; + description = "Address and port the HTTP server will listen on."; + }; + + TAP_DATABASE_URL = lib.mkOption { + type = lib.types.str; + default = "sqlite:///var/lib/tap/tap.db"; + description = '' + Database connection string. Accepts SQLite (`sqlite://path`) or + PostgreSQL (`postgres://...`) connection strings. + ''; + }; + }; + }; + }; + }; + + config = lib.mkIf cfg.enable { + systemd.services.tap = { + description = "Tap - ATProtocol firehose sync utility"; + after = [ "network-online.target" ]; + wants = [ "network-online.target" ]; + wantedBy = [ "multi-user.target" ]; + + serviceConfig = { + User = "tap"; + DynamicUser = true; + + ExecStart = "${lib.getExe cfg.package} run"; + Environment = lib.mapAttrsToList ( + k: v: "${k}=${if lib.isBool v then lib.boolToString v else toString v}" + ) (lib.filterAttrs (_: v: v != null) cfg.settings); + EnvironmentFile = cfg.environmentFiles; + + Restart = "on-failure"; + RestartSec = 5; + StateDirectory = "tap"; + StateDirectoryMode = "0750"; + + ProtectClock = true; + ProtectControlGroups = true; + ProtectHome = true; + ProtectHostname = true; + ProtectKernelLogs = true; + ProtectKernelModules = true; + ProtectKernelTunables = true; + ProtectProc = "invisible"; + ProcSubset = "pid"; + ProtectSystem = "strict"; + + PrivateDevices = true; + PrivateTmp = true; + PrivateUsers = true; + + RestrictNamespaces = true; + RestrictRealtime = true; + RestrictSUIDSGID = true; + RestrictAddressFamilies = [ + "AF_INET" + "AF_INET6" + "AF_UNIX" + ]; + + LockPersonality = true; + NoNewPrivileges = true; + AmbientCapabilities = ""; + CapabilityBoundingSet = ""; + RemoveIPC = true; + SystemCallArchitectures = "native"; + SystemCallFilter = [ + "@system-service" + "~@privileged" + ]; + UMask = "0077"; + }; + }; + }; + + meta.maintainers = with lib.maintainers; [ blooym ]; +} diff --git a/nixos/modules/services/web-apps/papra.nix b/nixos/modules/services/web-apps/papra.nix index 8ee55736f1eb..a9a4d2b66ccb 100644 --- a/nixos/modules/services/web-apps/papra.nix +++ b/nixos/modules/services/web-apps/papra.nix @@ -80,8 +80,8 @@ in wantedBy = [ "multi-user.target" ]; serviceConfig = { Restart = "on-failure"; - ExecStartPre = "${lib.getExe pkgs.tsx} ${cfg.package}/lib/src/scripts/migrate-up.script.ts"; - ExecStart = "${cfg.package}/bin/papra"; + ExecStartPre = "${lib.getExe' cfg.package "papra-migrate-up"}"; + ExecStart = "${lib.getExe' cfg.package "papra"}"; User = cfg.user; Group = cfg.group; StateDirectory = "papra"; diff --git a/nixos/modules/services/web-servers/nginx/default.nix b/nixos/modules/services/web-servers/nginx/default.nix index e80013158b59..771fc92c02a4 100644 --- a/nixos/modules/services/web-servers/nginx/default.nix +++ b/nixos/modules/services/web-servers/nginx/default.nix @@ -412,7 +412,7 @@ let " listen ${addr}${optionalString (port != null) ":${toString port}"} quic " + optionalString vhost.default "default_server " - + optionalString vhost.reuseport "reuseport " + + optionalString (vhost.reuseport && !(lib.hasPrefix "unix:" addr)) "reuseport " + optionalString (extraParameters != [ ]) ( concatStringsSep " " ( let @@ -438,7 +438,7 @@ let + optionalString (ssl && vhost.http2 && oldHTTP2) "http2 " + optionalString ssl "ssl " + optionalString vhost.default "default_server " - + optionalString vhost.reuseport "reuseport " + + optionalString (vhost.reuseport && !(lib.hasPrefix "unix:" addr)) "reuseport " + optionalString proxyProtocol "proxy_protocol " + optionalString (extraParameters != [ ]) (concatStringsSep " " extraParameters) + ";"; diff --git a/nixos/modules/services/web-servers/nginx/gitweb.nix b/nixos/modules/services/web-servers/nginx/gitweb.nix deleted file mode 100644 index c379245c5bff..000000000000 --- a/nixos/modules/services/web-servers/nginx/gitweb.nix +++ /dev/null @@ -1,101 +0,0 @@ -{ - config, - lib, - pkgs, - ... -}: - -with lib; - -let - cfg = config.services.nginx.gitweb; - gitwebConfig = config.services.gitweb; - package = pkgs.gitweb.override ( - optionalAttrs gitwebConfig.gitwebTheme { - gitwebTheme = true; - } - ); - -in -{ - - options.services.nginx.gitweb = { - - enable = mkOption { - default = false; - type = types.bool; - description = '' - If true, enable gitweb in nginx. - ''; - }; - - location = mkOption { - default = "/gitweb"; - type = types.str; - description = '' - Location to serve gitweb on. - ''; - }; - - user = mkOption { - default = "nginx"; - type = types.str; - description = '' - Existing user that the CGI process will belong to. (Default almost surely will do.) - ''; - }; - - group = mkOption { - default = "nginx"; - type = types.str; - description = '' - Group that the CGI process will belong to. (Set to `config.services.gitolite.group` if you are using gitolite.) - ''; - }; - - virtualHost = mkOption { - default = "_"; - type = types.str; - description = '' - VirtualHost to serve gitweb on. Default is catch-all. - ''; - }; - - }; - - config = mkIf cfg.enable { - - systemd.services.gitweb = { - description = "GitWeb service"; - script = "${package}/gitweb.cgi --fastcgi --nproc=1"; - environment = { - FCGI_SOCKET_PATH = "/run/gitweb/gitweb.sock"; - }; - serviceConfig = { - User = cfg.user; - Group = cfg.group; - RuntimeDirectory = [ "gitweb" ]; - }; - wantedBy = [ "multi-user.target" ]; - }; - - services.nginx = { - virtualHosts.${cfg.virtualHost} = { - locations."${cfg.location}/static/" = { - alias = "${package}/static/"; - }; - locations."${cfg.location}/" = { - extraConfig = '' - include ${config.services.nginx.package}/conf/fastcgi_params; - fastcgi_param GITWEB_CONFIG ${gitwebConfig.gitwebConfigFile}; - fastcgi_pass unix:/run/gitweb/gitweb.sock; - ''; - }; - }; - }; - - }; - - meta.maintainers = [ ]; - -} diff --git a/nixos/tests/mattermost/default.nix b/nixos/tests/mattermost/default.nix index 075781583c00..1fd46f19abfa 100644 --- a/nixos/tests/mattermost/default.nix +++ b/nixos/tests/mattermost/default.nix @@ -66,12 +66,7 @@ import ../make-test-python.nix ( # Upgrade to the latest Mattermost. specialisation.latest.configuration = { - services.mattermost.package = lib.mkForce ( - pkgs.mattermostLatest.override { - removeFreeBadge = true; - removeUserLimit = true; - } - ); + services.mattermost.package = lib.mkForce pkgs.mattermostLatest; system.stateVersion = lib.mkVMOverride (lib.versions.majorMinor lib.version); }; } diff --git a/pkgs/applications/editors/vim/plugins/generated.nix b/pkgs/applications/editors/vim/plugins/generated.nix index 875b2dbdc240..d1c14b6c16ab 100644 --- a/pkgs/applications/editors/vim/plugins/generated.nix +++ b/pkgs/applications/editors/vim/plugins/generated.nix @@ -11735,6 +11735,20 @@ final: prev: { meta.hydraPlatforms = [ ]; }; + neovim-project = buildVimPlugin { + pname = "neovim-project"; + version = "0.1"; + src = fetchFromGitHub { + owner = "coffebar"; + repo = "neovim-project"; + tag = "0.1"; + hash = "sha256-OCo4rF+mJ5it1S7UhlzpPpbi6Zxt211c4v6t1IPf1rw="; + }; + meta.homepage = "https://github.com/coffebar/neovim-project/"; + meta.license = getLicenseFromSpdxId "Apache-2.0"; + meta.hydraPlatforms = [ ]; + }; + neovim-sensible = buildVimPlugin { pname = "neovim-sensible"; version = "0-unstable-2017-09-20"; @@ -11749,6 +11763,20 @@ final: prev: { meta.hydraPlatforms = [ ]; }; + neovim-session-manager = buildVimPlugin { + pname = "neovim-session-manager"; + version = "0-unstable-2026-01-26"; + src = fetchFromGitHub { + owner = "shatur"; + repo = "neovim-session-manager"; + rev = "89d253a6c68af60b49570044591d5b8701866601"; + hash = "sha256-d7lXPIy6qJDPvFk8twwkqKUWI205HfTqXMspnVRkng0="; + }; + meta.homepage = "https://github.com/shatur/neovim-session-manager/"; + meta.license = getLicenseFromSpdxId "GPL-3.0-only"; + meta.hydraPlatforms = [ ]; + }; + neovim-tips = buildVimPlugin { pname = "neovim-tips"; version = "0.8.4"; diff --git a/pkgs/applications/editors/vim/plugins/overrides.nix b/pkgs/applications/editors/vim/plugins/overrides.nix index 67817980efd2..802d976e1f8e 100644 --- a/pkgs/applications/editors/vim/plugins/overrides.nix +++ b/pkgs/applications/editors/vim/plugins/overrides.nix @@ -3024,12 +3024,25 @@ assertNoAdditions { ]; }; + neovim-project = super.neovim-project.overrideAttrs { + dependencies = with self; [ + plenary-nvim + neovim-session-manager + ]; + }; + neovim-sensible = super.neovim-sensible.overrideAttrs (old: { meta = old.meta // { license = lib.licenses.mit; }; }); + neovim-session-manager = super.neovim-session-manager.overrideAttrs { + dependencies = with self; [ + plenary-nvim + ]; + }; + neovim-tips = super.neovim-tips.overrideAttrs { dependencies = [ self.nui-nvim diff --git a/pkgs/applications/editors/vim/plugins/vim-plugin-names b/pkgs/applications/editors/vim/plugins/vim-plugin-names index 9ca852477c50..274969cc7c32 100644 --- a/pkgs/applications/editors/vim/plugins/vim-plugin-names +++ b/pkgs/applications/editors/vim/plugins/vim-plugin-names @@ -836,7 +836,9 @@ https://github.com/marilari88/neotest-vitest/,, https://github.com/lawrence-laz/neotest-zig/,, https://github.com/Shatur/neovim-ayu/,, https://github.com/cloudhead/neovim-fuzzy/,, +https://github.com/coffebar/neovim-project/,, https://github.com/jeffkreeftmeijer/neovim-sensible/,, +https://github.com/shatur/neovim-session-manager/,, https://github.com/saxon1964/neovim-tips/,, https://github.com/trunk-io/neovim-trunk/,, https://github.com/Shougo/neoyank.vim/,, 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 f07d667c6234..3e3bacae576e 100644 --- a/pkgs/applications/editors/vscode/extensions/anthropic.claude-code/default.nix +++ b/pkgs/applications/editors/vscode/extensions/anthropic.claude-code/default.nix @@ -21,26 +21,26 @@ vscode-utils.buildVscodeMarketplaceExtension (finalAttrs: { sources = { "x86_64-linux" = { arch = "linux-x64"; - hash = "sha256-0iSA2ck0tJdOiiDlhwp7XaqYDFEAMZyI9mALIvYD6Zw="; + hash = "sha256-n6UmUqfzOADzZzJMvY40gBCBKYgDtig41AD1aieA/kQ="; }; "aarch64-linux" = { arch = "linux-arm64"; - hash = "sha256-35dMOAr9pb7Tb5gkiDp2K0xdodGduOEcJ9IFSenD03s="; + hash = "sha256-/T7H1itSllf1h6vPzXlwokBvNOVQjZjNuhmC/ocqmPI="; }; "x86_64-darwin" = { arch = "darwin-x64"; - hash = "sha256-rojFi5393B56j86IAtWWVP0XiNeCsnAvTFIr3CcGZYY="; + hash = "sha256-qj9K/BlKbl5ZuowRMSVBXLknM6NeOxtIYynIcSE+K5A="; }; "aarch64-darwin" = { arch = "darwin-arm64"; - hash = "sha256-X8nXfpfaM9KtZLvL4ACyevrtdm+eihtjXVlYHSSas78="; + hash = "sha256-kXKnSZ6VQa/NPXroEbQT1pNwIy1eKnIDgOWX5WvA3JI="; }; }; in { name = "claude-code"; publisher = "anthropic"; - version = "2.1.198"; + version = "2.1.199"; } // sources.${stdenvNoCC.hostPlatform.system} or (throw "Unsupported system ${stdenvNoCC.hostPlatform.system}"); diff --git a/pkgs/applications/emulators/libretro/cores/fceumm.nix b/pkgs/applications/emulators/libretro/cores/fceumm.nix index e2c485bc5ad5..fa4b3cbf53a0 100644 --- a/pkgs/applications/emulators/libretro/cores/fceumm.nix +++ b/pkgs/applications/emulators/libretro/cores/fceumm.nix @@ -5,13 +5,13 @@ }: mkLibretroCore { core = "fceumm"; - version = "0-unstable-2026-06-23"; + version = "0-unstable-2026-06-30"; src = fetchFromGitHub { owner = "libretro"; repo = "libretro-fceumm"; - rev = "f87bc875bd68262211e2e01ffbaf3662626a3e4f"; - hash = "sha256-TUrhDbRArO/RISZawu5p9FIZlFf8pPlBrD9WRrdSRPk="; + rev = "6e00afac498903586330492cdd81354a6c4c0d4c"; + hash = "sha256-0WPMqXj/hNtFxUAIL16B80SxZ8FW31M4g/8wVMZLv/w="; }; meta = { diff --git a/pkgs/applications/networking/browsers/chromium/info.json b/pkgs/applications/networking/browsers/chromium/info.json index 6e075e7f9b3b..5cfa7b5ec201 100644 --- a/pkgs/applications/networking/browsers/chromium/info.json +++ b/pkgs/applications/networking/browsers/chromium/info.json @@ -838,28 +838,28 @@ } }, "ungoogled-chromium": { - "version": "149.0.7827.200", + "version": "150.0.7871.46", "deps": { "depot_tools": { - "rev": "45dedc4c3b87c982fd846b3dc599b233ed3aff90", - "hash": "sha256-Ttklyw6IdNeMExlzeiQg/qsCkTmqVhUJ34MFgYmCWD4=" + "rev": "f4fadaf6a5ba1bced9d3d9021060667b563bf583", + "hash": "sha256-3atvbwYnFTA40MonAxSQWkF58Jku7O7fUzelGPQvDyY=" }, "gn": { - "version": "0-unstable-2026-05-01", - "rev": "1740f5c25bcac5a650ee3d1c1ec22bfa25fcd756", - "hash": "sha256-oFs7fZAZEs/gQ7X1A4uigo9+Y+iEN9sMMQYwAjEuD04=" + "version": "0-unstable-2026-05-27", + "rev": "3357c4f51b1a9e676378c695dd9c7e9911c35ee6", + "hash": "sha256-/1A+DkzAQj2zGPe/A/G0Z3VrYJXUxq4Hd/+d/o5p3G8=" }, "ungoogled-patches": { - "rev": "149.0.7827.200-1", - "hash": "sha256-D7c1ToAoUzAMpXoe60YPimRqe6/LRe0T95TduXUeTFo=" + "rev": "150.0.7871.46-1", + "hash": "sha256-SuZTPUpv7onrHvDrwZO0Xo/mxLVcGUSxf2xb+OC//L8=" }, "npmHash": "sha256-pF0JtwFpPC4/fodbhSJnQKkczA9WlDg4VqEAy9aDVLg=" }, "DEPS": { "src": { "url": "https://chromium.googlesource.com/chromium/src.git", - "rev": "c35c164b1b6d1adca9eddf914ed6d0d0743dba6a", - "hash": "sha256-b2gBRUzRjqVZEb/tWUL1JF6Afq5gHJ3aOM02My1FyYU=", + "rev": "5b586c06e0d27582900f17e2d59c5370d8d6e0bb", + "hash": "sha256-OAZNyZtR5WFWW42r74RSy9fT7Eb7CNZwzoIHhuoqR28=", "recompress": true }, "src/third_party/clang-format/script": { @@ -869,13 +869,13 @@ }, "src/third_party/compiler-rt/src": { "url": "https://chromium.googlesource.com/external/github.com/llvm/llvm-project/compiler-rt.git", - "rev": "0408cce08083f3d81379ed7d9f5bd26c03e1495b", - "hash": "sha256-kR5osTmp2girvNRVHzEKMZDCelgux9RrRuMoXMCRSGM=" + "rev": "03641f7a5b05e48e318d64369057db577cafc594", + "hash": "sha256-KnWESGG6aI0S+fkJ3/T1x4QSiIYaOOvWUAm6l6l9iME=" }, "src/third_party/libc++/src": { "url": "https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libcxx.git", - "rev": "be1c391acca009d8d80535ce924e3d285451cdfa", - "hash": "sha256-zKb9PUiiBvhVhWnbQwR8uOFJ9gt3uYmfJ4M9ijpgKRc=" + "rev": "5abc7f839700f0f17338434e1c1c6a8c87c00c11", + "hash": "sha256-vT1km7JgVpotDoNK+ae1gplSHcwrVNLsv/QAFUrDsIM=" }, "src/third_party/libc++abi/src": { "url": "https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libcxxabi.git", @@ -884,13 +884,13 @@ }, "src/third_party/libunwind/src": { "url": "https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libunwind.git", - "rev": "71192be150bbe04d87bb5298512d464e38d2f654", - "hash": "sha256-PxXemxdWZoEavKDOovi67IVWEr2YW8YK2F0LXM3LZPw=" + "rev": "d6c7a21e978f0adaa43accaad53bc64f0b64f6ec", + "hash": "sha256-EuaVSYiR7qrlYqBR0UqdWCvwdzJSn0RS2wC/lnP19AE=" }, "src/third_party/llvm-libc/src": { "url": "https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libc.git", - "rev": "deb95b5e48e875920a2eaae799c8dbcd76a6a4db", - "hash": "sha256-oAgIT3+vjBrX86jgi/Pb0SCyco0lozjBjXlrKm6i56M=" + "rev": "6e5ec6f78d8b9f2e8a50fcc5692d1fc8b2964bde", + "hash": "sha256-qrkx8Z1fc088Ja32obIUPxDwklI7i1wdEw051UZ08u8=" }, "src/chrome/test/data/perf/canvas_bench": { "url": "https://chromium.googlesource.com/chromium/canvas_bench.git", @@ -909,8 +909,8 @@ }, "src/docs/website": { "url": "https://chromium.googlesource.com/website.git", - "rev": "c9a9ad55e9ec9934244e58a5a8cab9a295526010", - "hash": "sha256-2GKWEnlExrTzoIYMxeP4n2klLLT/phB5ZVJ5Nj3/aoY=" + "rev": "3da515a67f412be05ea1ea6b39832a69aef8f54e", + "hash": "sha256-wrkFsPX7jrsjD/Ow1gna/xLvk0E49m5GVxP1G7Vx7HM=" }, "src/media/cdm/api": { "url": "https://chromium.googlesource.com/chromium/cdm.git", @@ -919,8 +919,8 @@ }, "src/net/third_party/quiche/src": { "url": "https://quiche.googlesource.com/quiche.git", - "rev": "fafc2fe9efc9f2e28a0815229fc14ca30c266ba8", - "hash": "sha256-4UmjE41MOFCBa3APDMyyJwkeV6LhHl5UsMxZpPRDsRY=" + "rev": "997d654308b6a1a17435e472ef5190aecb12e3eb", + "hash": "sha256-xgDgW2foZZEWpr0ibSG21kf028FN07/1ecOqFCkNj/I=" }, "src/testing/libfuzzer/fuzzers/wasm_corpus": { "url": "https://chromium.googlesource.com/v8/fuzzer_wasm_corpus.git", @@ -929,8 +929,8 @@ }, "src/third_party/angle": { "url": "https://chromium.googlesource.com/angle/angle.git", - "rev": "355cc61af2aadd8f0494800325b2bf9908138108", - "hash": "sha256-fgaCyO0oaz90aTaWMHH8ocySA0hXDHsPEl6vtMj4BY0=" + "rev": "bbf3d8a4755268f016087be2f56099fa5a5f3f6e", + "hash": "sha256-8iuHtNgHumlMXeXj2k0ZPcvnTeJ00di298+789OjScs=" }, "src/third_party/angle/third_party/glmark2/src": { "url": "https://chromium.googlesource.com/external/github.com/glmark2/glmark2", @@ -944,13 +944,18 @@ }, "src/third_party/angle/third_party/VK-GL-CTS/src": { "url": "https://chromium.googlesource.com/external/github.com/KhronosGroup/VK-GL-CTS", - "rev": "3fe33a325af90c1c820b1e8109f11ea0f4b60c9b", - "hash": "sha256-JgOdlwtjC5HiCWBAaeM+Ffp9KlbI7+erT0ZRZBlWxXI=" + "rev": "01471f4b3846c97eceb5b16b8acad950808791b2", + "hash": "sha256-SrL+G3osTtJGQslfCBEYbslb2kWtHRrwO87PHi+5o6E=" }, "src/third_party/anonymous_tokens/src": { "url": "https://chromium.googlesource.com/external/github.com/google/anonymous-tokens.git", - "rev": "208ea23596884f6d86476ea88b64e7931cdec08a", - "hash": "sha256-HLUX0mUzA3xcXbw71sIxFBNEkL8x86urcdJH2Yuuy04=" + "rev": "92d1fdf881a932e7aa2a9b20e006136a659c7a20", + "hash": "sha256-llPt+UR8hY0yaJkYmq+A3ZfRRReuaXN09qpap6C28jc=" + }, + "src/third_party/aria-practices/src": { + "url": "https://chromium.googlesource.com/external/github.com/w3c/aria-practices.git", + "rev": "7b134ce6d19497cce8a67db4a9f59980baf853dc", + "hash": "sha256-POnvoO1KfzJj4CbcMPI0pUTRk5EtHLTOyKKmJCZdXOc=" }, "src/third_party/readability/src": { "url": "https://chromium.googlesource.com/external/github.com/mozilla/readability.git", @@ -964,13 +969,13 @@ }, "src/third_party/dav1d/libdav1d": { "url": "https://chromium.googlesource.com/external/github.com/videolan/dav1d.git", - "rev": "5cfc3832687e3229117203905faf5425ac6bc0d7", - "hash": "sha256-MWDDrb8P5AIFszY0u5gCrK+kZlbYffIt9Y1b/thXL7I=" + "rev": "62501cc7db378532d7e85ea434b70d57e1ba2cb0", + "hash": "sha256-5cpKTUnhR+QzQJR4KbAvdvqsWnT1fpH0g9MObv8Nx0c=" }, "src/third_party/dawn": { "url": "https://dawn.googlesource.com/dawn.git", - "rev": "54b4153cfef88e048f365f99b962478f0087dfe8", - "hash": "sha256-Bv30zz/pCNVzUl+mKCpusWc94poytv9ZFelZIcs+2B8=" + "rev": "01249a97332468dbdd6cf5edb8dd7bae77875de5", + "hash": "sha256-tzomo+GTec2zixxk61gtlma/sjcBImgbLMwA+mIp1LM=" }, "src/third_party/dawn/third_party/glfw3/src": { "url": "https://chromium.googlesource.com/external/github.com/glfw/glfw", @@ -979,8 +984,8 @@ }, "src/third_party/dawn/third_party/directx-shader-compiler/src": { "url": "https://chromium.googlesource.com/external/github.com/microsoft/DirectXShaderCompiler", - "rev": "d73829d4e677ef00931e8e57de6d544396ab46cb", - "hash": "sha256-BIXNgVeF5x3BZWFWZ1Gz+zpNSOEl+hZWB0GgMEaNS2w=" + "rev": "35c1b99e9e552267da5efaea07c003e322d65777", + "hash": "sha256-pzBk+jUp/FUV8ahHquE0942Qw/DjAUemSM9fxdFJ0JA=" }, "src/third_party/dawn/third_party/directx-headers/src": { "url": "https://chromium.googlesource.com/external/github.com/microsoft/DirectX-Headers", @@ -989,8 +994,8 @@ }, "src/third_party/dawn/third_party/OpenGL-Registry/src": { "url": "https://chromium.googlesource.com/external/github.com/KhronosGroup/OpenGL-Registry", - "rev": "9cb90ca4902d588bef3c830fbb1da484893bd5fb", - "hash": "sha256-mWVORjrbNFINr5WKAIDVnPs2T+96vkxWqZdJwp8oT9I=" + "rev": "a30033d3e812c9bf10094f1010374a6b15e192eb", + "hash": "sha256-xLacUOSy783bCtv+wUnjVnNLwTQ3eLwUJtYXmELqekY=" }, "src/third_party/dawn/third_party/EGL-Registry/src": { "url": "https://chromium.googlesource.com/external/github.com/KhronosGroup/EGL-Registry", @@ -999,8 +1004,8 @@ }, "src/third_party/dawn/third_party/webgpu-cts": { "url": "https://chromium.googlesource.com/external/github.com/gpuweb/cts", - "rev": "5c6b119c4fa0d9059c45f7637df1fe26fc80a6e4", - "hash": "sha256-9DAdS2u2YtrCFJu0KTuwRJjTUNexFxdmnn7LkwQ+KiQ=" + "rev": "f08551b0fc4d6cfa5ba582a0235b571aa363102d", + "hash": "sha256-f5kWMnaod/Ved1Fz/vTkdL0ihSUnNM8XN5Ht3Vs1YpU=" }, "src/third_party/dawn/third_party/webgpu-headers/src": { "url": "https://chromium.googlesource.com/external/github.com/webgpu-native/webgpu-headers", @@ -1024,8 +1029,8 @@ }, "src/third_party/boringssl/src": { "url": "https://boringssl.googlesource.com/boringssl.git", - "rev": "65818adf16411ca394625f5747a1af28faf95d2c", - "hash": "sha256-tcTTzQnBp8Od1jdDMrFoCr9bnW0OCjGqUjH3QMnusmo=" + "rev": "3a9254f16eda7a4c5d2260039ff23456a0a34de4", + "hash": "sha256-JuMnNppWhIFHYfk6ANIZLC7ABhqMseoV5LYV7slevBE=" }, "src/third_party/breakpad/breakpad": { "url": "https://chromium.googlesource.com/breakpad/breakpad.git", @@ -1039,13 +1044,8 @@ }, "src/third_party/catapult": { "url": "https://chromium.googlesource.com/catapult.git", - "rev": "6e4188cabb4f37314ea41e9adfcb2cf9b64e2641", - "hash": "sha256-/kleYYllR22KjxHT2gTMGf6LEUZ1Ud7j593fIIAgqAA=" - }, - "src/third_party/catapult/third_party/webpagereplay": { - "url": "https://chromium.googlesource.com/webpagereplay.git", - "rev": "b7ac48f52cd298e966a76eb054412915c3e445d4", - "hash": "sha256-smtwB6vzLgCAePz0jNfrpm8TxrxBnBkigLxERhxUEvE=" + "rev": "2852bb7e91e4995502ffb72b7ed21412ee157914", + "hash": "sha256-XYufVvzOXD4voZUWUvumQQqLNsx9sy0QmQzNzrgNEWg=" }, "src/third_party/ced/src": { "url": "https://chromium.googlesource.com/external/github.com/google/compact_enc_det.git", @@ -1064,13 +1064,13 @@ }, "src/third_party/cpu_features/src": { "url": "https://chromium.googlesource.com/external/github.com/google/cpu_features.git", - "rev": "d3b2440fcfc25fe8e6d0d4a85f06d68e98312f5b", - "hash": "sha256-IBJc1sHHh4G3oTzQm1RAHHahsEECC+BDl14DHJ8M1Ys=" + "rev": "81d13c49649f0714dd41fb56bb246398b6584085", + "hash": "sha256-TrC1WMLAhko57rAyDCiAC/IJ0unAqVhyjkh7gKibyi4=" }, "src/third_party/cpuinfo/src": { "url": "https://chromium.googlesource.com/external/github.com/pytorch/cpuinfo.git", - "rev": "3681f0ce1446167d01dfe125d6db96ba2ac31c3c", - "hash": "sha256-PhWbzQgZSUb3eVyx+JTSnxVOAC2WzL2Dw1I9/6LEIsw=" + "rev": "ea6b9f1bb6e1001d8b21574d5bc78ddef62e499d", + "hash": "sha256-/QsOjDik0TnH3FnK7LOwsJkvX+O+2DRFX4eF3MxD3fc=" }, "src/third_party/crc32c/src": { "url": "https://chromium.googlesource.com/external/github.com/google/crc32c.git", @@ -1079,28 +1079,28 @@ }, "src/third_party/cros_system_api": { "url": "https://chromium.googlesource.com/chromiumos/platform2/system_api.git", - "rev": "7ecd2b41460516ecd7b7d6e5c298db25e1436b6f", - "hash": "sha256-ehbAXv4DZStWDMC3iOjmWkAc4PhAamyI4C9bdXO7FfA=" + "rev": "1c69e700a01a7fd3dd331f526c8a31ac1e5e49d0", + "hash": "sha256-qIwUs0KVU9xYFLN3UUayPLfz0ObA+EN6owKPW61J/5w=" }, "src/third_party/crossbench": { "url": "https://chromium.googlesource.com/crossbench.git", - "rev": "cecd70a5f49f777f603d38d11ac1f66c03c3e8af", - "hash": "sha256-zLwIY8fQVebkfN4KFMbitZODhmiN65JK2s9IG/5Cd+o=" + "rev": "7d52b4ffbc319a7d5a0e0a0ebff744e5281d60c5", + "hash": "sha256-iwwvvIOuRMo/ZEu8Gk0lZaS4P5uGt8zpnYMChpZPcUo=" }, "src/third_party/crossbench-web-tests": { "url": "https://chromium.googlesource.com/chromium/web-tests.git", - "rev": "baf176aadedccc44329231d5dd40346874c2a63e", - "hash": "sha256-oY1/uGB6ykePIklWe35rmJWsnpu/wjkER4TJeP4TTdw=" + "rev": "7b3de17542cc613aaddbfc72c6e12be37eed7b73", + "hash": "sha256-7ly4vaK+Pj4y91t6Q+igQ0890CqKyu9jNBhJnxbNGjI=" }, "src/third_party/depot_tools": { "url": "https://chromium.googlesource.com/chromium/tools/depot_tools.git", - "rev": "45dedc4c3b87c982fd846b3dc599b233ed3aff90", - "hash": "sha256-Ttklyw6IdNeMExlzeiQg/qsCkTmqVhUJ34MFgYmCWD4=" + "rev": "f4fadaf6a5ba1bced9d3d9021060667b563bf583", + "hash": "sha256-3atvbwYnFTA40MonAxSQWkF58Jku7O7fUzelGPQvDyY=" }, "src/third_party/devtools-frontend/src": { "url": "https://chromium.googlesource.com/devtools/devtools-frontend", - "rev": "33c2f401a9c8ddad2159eb0ab83aa244a5247361", - "hash": "sha256-M9aULI+HECgA0ptAG47OPK0QuB+xzmb29iOtJ3whpB0=" + "rev": "1d67dc0dafa344bbd6ca75c124e2d6d9d53074d8", + "hash": "sha256-VBXch2YwnKm+lMcZ5L0SlW+vAYeaSwgZvcOhg1TE5/A=" }, "src/third_party/dom_distiller_js/dist": { "url": "https://chromium.googlesource.com/chromium/dom-distiller/dist.git", @@ -1114,8 +1114,8 @@ }, "src/third_party/eigen3/src": { "url": "https://chromium.googlesource.com/external/gitlab.com/libeigen/eigen.git", - "rev": "2cf9891537250255f50df5109ffe9e700e2a73de", - "hash": "sha256-1bu1Y9itHIKcwY5J0sF08DSyfElLHiZ6SRsNZkFjz8o=" + "rev": "662ba79d796a2851b10cdafc6668e45b65b1120f", + "hash": "sha256-6bZFDeo7TqWNunkkQv8OJ+7/hfKwoIUtqZoXaeLp6M8=" }, "src/third_party/farmhash/src": { "url": "https://chromium.googlesource.com/external/github.com/google/farmhash.git", @@ -1124,18 +1124,18 @@ }, "src/third_party/fast_float/src": { "url": "https://chromium.googlesource.com/external/github.com/fastfloat/fast_float.git", - "rev": "05087a303dad9c98768b33c829d398223a649bc6", - "hash": "sha256-ZQm8kDMYdwjKugc2vBG5mwTqXa01u6hODQc/Tai2I9A=" + "rev": "cfd12ebcf1f82c4fd44a950b1815dd0549bc8d89", + "hash": "sha256-hzoB+Mmok3oe6B494uLc5ReWpUcB89zCGPYw4gvanK0=" }, "src/third_party/federated_compute/src": { "url": "https://chromium.googlesource.com/external/github.com/google-parfait/federated-compute.git", - "rev": "3112513bf1a80872311e7718c5385f535a819b89", - "hash": "sha256-jnG3PCxjaYcClRgzOfIkHbbD3xU9TDLyQR3VZUwHIgU=" + "rev": "8de5837b817f28abc54a387a9417631b905ba90a", + "hash": "sha256-GZYo0FjgW8XCplAi6jzzruwDlIzsWjNEVQuCwXBCPz8=" }, "src/third_party/ffmpeg": { "url": "https://chromium.googlesource.com/chromium/third_party/ffmpeg.git", - "rev": "f45bab87ce4c5fafc67fd53fcde777578d01bfa0", - "hash": "sha256-fsZSqmG6vFOPJYuBgG6OSWkzRu27B3mv/PqAP8s4ARk=" + "rev": "ad41607c61898cf7150e0fb20fe4bbabd44922a3", + "hash": "sha256-41qpsOTedB51WMzzHXDiXA19OIzA7wG/Qgbz6IkmWpk=" }, "src/third_party/flac": { "url": "https://chromium.googlesource.com/chromium/deps/flac.git", @@ -1164,8 +1164,8 @@ }, "src/third_party/freetype/src": { "url": "https://chromium.googlesource.com/chromium/src/third_party/freetype2.git", - "rev": "b6bcd2177f72bb4842c7701d7b7f633bb3fc951a", - "hash": "sha256-TUz3yUD9HxqUMCOpLk74rEf8J0tMTh4ZCuD94AD4+q4=" + "rev": "b08a2eb0dd37f4a6c886fa5b0ecf5b3e1d27aac7", + "hash": "sha256-xnYeUAJx5n8LSg04AknfiudonfmlUdlj8nzHzSZi65I=" }, "src/third_party/fxdiv/src": { "url": "https://chromium.googlesource.com/external/github.com/Maratyszcza/FXdiv.git", @@ -1174,13 +1174,13 @@ }, "src/third_party/harfbuzz/src": { "url": "https://chromium.googlesource.com/external/github.com/harfbuzz/harfbuzz.git", - "rev": "e6741e2205309752839da60ff075b7fa2e7cddd3", - "hash": "sha256-XjUuY17fcZi+dIZFojq+eDsDVrBxtAWRydPdudt56+8=" + "rev": "d639197ed529b05c27f38ebaab365a621d5edad5", + "hash": "sha256-uT4zK2hwHzEH6Nrd2rAeyzpQA1TmwtrdcujKYEUbLsY=" }, "src/third_party/ink/src": { "url": "https://chromium.googlesource.com/external/github.com/google/ink.git", - "rev": "a988417b6d0b1ea03fb0b40269fbc42313acc6fd", - "hash": "sha256-6O+N/ULn8sqsdgFw7VZ7TMjWvCAZbYo398PruPScU/k=" + "rev": "0f9c6172b2ccc6b830ae313d522caf09e6933e06", + "hash": "sha256-LF+OcqNeg+KRuYmGuMZb4tmnr53sZHn/ZW1jg9ArPfc=" }, "src/third_party/instrumented_libs": { "url": "https://chromium.googlesource.com/chromium/third_party/instrumented_libraries.git", @@ -1204,8 +1204,8 @@ }, "src/third_party/libgav1/src": { "url": "https://chromium.googlesource.com/codecs/libgav1.git", - "rev": "40f58ed32ff39071c3f2a51056dbc49a070af0dc", - "hash": "sha256-gisU0p0HDL7Po/ZXIIZVOTnxnOuVvSE/FYo9DaEUFfo=" + "rev": "66ac17620652635392f6ab24065c77b035e281c9", + "hash": "sha256-6/zMaX2DPSKpsaqirhrgi3nL/88Qr2VXacmyL5IyJ3U=" }, "src/third_party/googletest/src": { "url": "https://chromium.googlesource.com/external/github.com/google/googletest.git", @@ -1229,8 +1229,8 @@ }, "src/third_party/jsoncpp/source": { "url": "https://chromium.googlesource.com/external/github.com/open-source-parsers/jsoncpp.git", - "rev": "42e892d96e47b1f6e29844cc705e148ec4856448", - "hash": "sha256-bSLNcoYBz3QCt5VuTR056V9mU2PmBuYBa0W6hFg2m8Q=" + "rev": "d4d072177213b117fb81d4cfda140de090616161", + "hash": "sha256-q+DOwkjRlHacgfWf5UVY02aqfnKK9M/1YRBX6aMce9g=" }, "src/third_party/leveldatabase/src": { "url": "https://chromium.googlesource.com/external/leveldb.git", @@ -1244,8 +1244,8 @@ }, "src/third_party/fuzztest/src": { "url": "https://chromium.googlesource.com/external/github.com/google/fuzztest.git", - "rev": "e24a91020ab19c3d6f590bd0911b7acb492f81be", - "hash": "sha256-wFjuvJzGEaal+pIo5UtkdLHYTpoWxRE6Vf5OGLObGQk=" + "rev": "da27bcae1a8902af1ae6a5c55d3674f22709bbf5", + "hash": "sha256-317zRhJPc0D9A58W8fdCGFmpNZ5vACfd/tlZOsp/Cvw=" }, "src/third_party/domato/src": { "url": "https://chromium.googlesource.com/external/github.com/googleprojectzero/domato.git", @@ -1254,18 +1254,18 @@ }, "src/third_party/libaddressinput/src": { "url": "https://chromium.googlesource.com/external/libaddressinput.git", - "rev": "e20690c8d5178bb282641d5eb06ef0298ff4cbc5", - "hash": "sha256-rX7LQNUgk5ZljUrayD1a/SUrBrvpomW0Cs0KBw3lYu4=" + "rev": "81eb9628382b07d371d8ea0b11badf7de3857fd5", + "hash": "sha256-6yDZpZ+CwxGqNO4+lZLFB6ESREeVku1BoOMtR+hKQ3I=" }, "src/third_party/libaom/source/libaom": { "url": "https://aomedia.googlesource.com/aom.git", - "rev": "33dba9e12a9f12e737eaa7c2624e8c580950a89a", - "hash": "sha256-01DbV0kQFg1yyFpVeo82KBoZHhizA7xnZ1qOuu4HTcs=" + "rev": "137bcff61e73fdd2836dc04e8258bfb49cef595e", + "hash": "sha256-oDubKvgqMk3w0luM//rR3NnCOk1h/WVTyRkuCmYASrw=" }, "src/third_party/crabbyavif/src": { "url": "https://chromium.googlesource.com/external/github.com/webmproject/CrabbyAvif.git", - "rev": "c433c9a32320aed983e4106931596fbbae3f77ee", - "hash": "sha256-yw1cXB6s6biD2vj2K/3sVbKiaNK7bt+NkbQovbYlJ2Q=" + "rev": "5e140b5abb9a91eb25b5ef66d29f6ee784ab7eab", + "hash": "sha256-tN+2YH2O9FTV50o4OVhKcKdwRwTI8NuNA0WqljUcrmo=" }, "src/third_party/nearby/src": { "url": "https://chromium.googlesource.com/external/github.com/google/nearby-connections.git", @@ -1279,8 +1279,8 @@ }, "src/third_party/jetstream/main": { "url": "https://chromium.googlesource.com/external/github.com/WebKit/JetStream.git", - "rev": "de88e36ae91d5bd13126fa4cc4b0e0346d779842", - "hash": "sha256-ZpU0ONqIVmY2VR0MxqtYj8KPNlK0L21gLJuT/Ff7KI8=" + "rev": "b7babdf323e64e69bd2f6c376189c15825f5c73a", + "hash": "sha256-s6UMdUYWZqk/MbhyCi2zdQNgni98gGsYxcuUh/5AUy0=" }, "src/third_party/jetstream/v2.2": { "url": "https://chromium.googlesource.com/external/github.com/WebKit/JetStream.git", @@ -1319,8 +1319,8 @@ }, "src/third_party/cros-components/src": { "url": "https://chromium.googlesource.com/external/google3/cros_components.git", - "rev": "e580888fcc1c108e25c218ccf8b7a4372de18d57", - "hash": "sha256-p0Wfvhg/j8v9xL9Pueo7xPVHBKowOLI00AeIZXPQw4k=" + "rev": "0abb2efaa3d16db861c9710b193c39e657ac3bdf", + "hash": "sha256-viuntf6umyLZwDR9BXG+ZOakp9f8rvpZYDBYAUkKzL4=" }, "src/third_party/libdrm/src": { "url": "https://chromium.googlesource.com/chromiumos/third_party/libdrm.git", @@ -1329,8 +1329,8 @@ }, "src/third_party/expat/src": { "url": "https://chromium.googlesource.com/external/github.com/libexpat/libexpat.git", - "rev": "f31adfd584b7f6c50bbf4d22eb928538ffc9145a", - "hash": "sha256-tLz4RejYQ/kFXhsWTduuGcinfUkqxYKPCpsou+WlvBc=" + "rev": "9bdfbc77e3355405ceefbe59420abed953a5657e", + "hash": "sha256-veGg5/QjtBSmxYa8IyHF0NxEdJzlcJSZfzw8ay3ASVU=" }, "src/third_party/libipp/libipp": { "url": "https://chromium.googlesource.com/chromiumos/platform2/libipp.git", @@ -1339,8 +1339,8 @@ }, "src/third_party/libjpeg_turbo": { "url": "https://chromium.googlesource.com/chromium/deps/libjpeg_turbo.git", - "rev": "d1f5f2393e0d51f840207342ae86e55a86443288", - "hash": "sha256-KGeB/lTjhm8DQBDZVSPENvZEGSHeLTkviJrYsFh5vEM=" + "rev": "640f254ad0fa03f6b1f29f89b7dd9366f2f6e533", + "hash": "sha256-wor4RTF3/5BFL9EWcGEofY+M4HN2+/KJUaOY+u86K5Q=" }, "src/third_party/liblouis/src": { "url": "https://chromium.googlesource.com/external/liblouis-github.git", @@ -1349,8 +1349,8 @@ }, "src/third_party/libphonenumber/src": { "url": "https://chromium.googlesource.com/external/libphonenumber.git", - "rev": "ade546d8856475d0493863ee270eb3be9628106b", - "hash": "sha256-cLtsM35Ir3iG3j8+Cy2McL1ysRB0Y1PXealAKl05Twg=" + "rev": "c25558e39e2bcc9f26f7a2a1ef804324169eaf8f", + "hash": "sha256-Lr/gB5Em+TE092McPwJdOU0Ab4zyP4/2ZxlavMZMm+s=" }, "src/third_party/libprotobuf-mutator/src": { "url": "https://chromium.googlesource.com/external/github.com/google/libprotobuf-mutator.git", @@ -1374,8 +1374,8 @@ }, "src/third_party/libvpx/source/libvpx": { "url": "https://chromium.googlesource.com/webm/libvpx.git", - "rev": "d1268a5f3f3553ad7735911c614e8548381ca3cd", - "hash": "sha256-6IZTDhtjVWiqTv+jUC6Wr/tSqvql3thi9+mt+M3ixt4=" + "rev": "5f00413667d19ad683674524a9d03543d86d188b", + "hash": "sha256-uTteQ+z7t5KOtPuBoZazmonRHd8jGS1/YZAq+RAvhX4=" }, "src/third_party/libwebm/source": { "url": "https://chromium.googlesource.com/webm/libwebm.git", @@ -1389,8 +1389,8 @@ }, "src/third_party/libyuv": { "url": "https://chromium.googlesource.com/libyuv/libyuv.git", - "rev": "644251f252a84bf8ce91ff0aca86a9b16b069ab8", - "hash": "sha256-DsoOY8bg0sPOF8tF67Gk7fRqdQzG1hc9fVMlZVjKWU4=" + "rev": "3c5fa6ef272f6077d76816ee3d6a697ef1d6d272", + "hash": "sha256-FXFSC9dRb/KhSQdhJUqKEUpZbzU8ZpVnoSXtF/HPiJI=" }, "src/third_party/lss": { "url": "https://chromium.googlesource.com/linux-syscall-support.git", @@ -1409,8 +1409,8 @@ }, "src/third_party/nasm": { "url": "https://chromium.googlesource.com/chromium/deps/nasm.git", - "rev": "358842b6b7dd69b2ed635bef17f941e030a05e5f", - "hash": "sha256-YwjwubijMZ9OvYeMUVMSunWZ2VCuqUFEOyv/MK/oojc=" + "rev": "525a09a813be0f75b646ee93fc2a31c27b87d722", + "hash": "sha256-uC6bGxSdz1V2SXIQjMsDd6555b3gAPN1Y0ZQtWoqDww=" }, "src/third_party/neon_2_sse/src": { "url": "https://chromium.googlesource.com/external/github.com/intel/ARM_NEON_2_x86_SSE.git", @@ -1424,8 +1424,8 @@ }, "src/third_party/openscreen/src": { "url": "https://chromium.googlesource.com/openscreen", - "rev": "684bcd767271a21f3e5d475b17a0fd862f16c65e", - "hash": "sha256-Yjz2E1/h+zp7L2x0zE0l+ktQIiSrJ4ZknXOhaVPKQVE=" + "rev": "37ff938a93cb04c6b77e019b52328c8e9b320317", + "hash": "sha256-M57un/TVQPfTnKScVHS1VK1cUs8F/YPT3TwMVdo+mhM=" }, "src/third_party/openscreen/src/buildtools": { "url": "https://chromium.googlesource.com/chromium/src/buildtools", @@ -1439,13 +1439,13 @@ }, "src/third_party/pdfium": { "url": "https://pdfium.googlesource.com/pdfium.git", - "rev": "be702d63baba7507bb1f6f6ff2d35be9c133c08c", - "hash": "sha256-hXqSJn1C0ISLWx68UicggiL8xzgQX2Y8l75vtpJgHeU=" + "rev": "c052afb72a08d79a26bcf3103d11f344981b09f1", + "hash": "sha256-zqfErp0pDXHXIvRpZ1TJu2UGXNZjATRbPgQWTniKTJs=" }, "src/third_party/perfetto": { "url": "https://chromium.googlesource.com/external/github.com/google/perfetto.git", - "rev": "97c58a94bb6495c4e202467fb1c55eaa22b5670f", - "hash": "sha256-qtClkWAluLDRZn7yrHLU7qp9szP+/WsiG5JZZzRKd38=" + "rev": "9ede949f025303868fa0c42418f122ac47312539", + "hash": "sha256-IRzEqgunO4Nfz+FkYir8G/Ht+Zsn6wpzncgkEFpsC+k=" }, "src/third_party/protobuf-javascript/src": { "url": "https://chromium.googlesource.com/external/github.com/protocolbuffers/protobuf-javascript", @@ -1454,8 +1454,8 @@ }, "src/third_party/pthreadpool/src": { "url": "https://chromium.googlesource.com/external/github.com/google/pthreadpool.git", - "rev": "a56dcd79c699366e7ac6466792c3025883ff7704", - "hash": "sha256-WfyuPfII4eSmLskZV0TAcu4K6OyW38TjkDHm+VUx5eY=" + "rev": "02460584c6092e527c8b89f7df4de143d70e801f", + "hash": "sha256-4EHJzZT+Gbhs8SkOhjSvDIPEqIQU93oJmtF3c/T+qjw=" }, "src/third_party/pyelftools": { "url": "https://chromium.googlesource.com/chromiumos/third_party/pyelftools.git", @@ -1484,13 +1484,18 @@ }, "src/third_party/search_engines_data/resources": { "url": "https://chromium.googlesource.com/external/search_engines_data.git", - "rev": "2345fee6ce4ae24d9c365d5c0884ece593c55c67", - "hash": "sha256-5qkra6FURaMvEOk+ZKMRH1hc8ixEnk3u4rxNm0G8tuQ=" + "rev": "1aab872af8d44dcf59362d7ba8255922f74fafde", + "hash": "sha256-5/XnNx6Pyk4KBb9krVo9u6i7LWNrsLLOIi4qhEY2PZc=" + }, + "src/third_party/sframe/src": { + "url": "https://chromium.googlesource.com/external/github.com/cisco/sframe", + "rev": "b14090904433bed0d4ec3f875b9b39f3e0555930", + "hash": "sha256-bw+6ycUpnFZJhtXFUzr7XTOljNrs+7oFdVY+LN0Rqek=" }, "src/third_party/skia": { "url": "https://skia.googlesource.com/skia.git", - "rev": "75c589e1f436688fca8f5b7f7a8affeafaa4f923", - "hash": "sha256-x0jEek7iJv7WBNdkOUPc5VvIYJw9QPzzTChFUofqErM=" + "rev": "14d05ec761901b6e9e9193af8b347ab3a7f6fed0", + "hash": "sha256-KZGrztOKaT368KSCxiJAqnsgINpNODUlaXnH/maQNIA=" }, "src/third_party/smhasher/src": { "url": "https://chromium.googlesource.com/external/smhasher.git", @@ -1504,13 +1509,13 @@ }, "src/third_party/sqlite/src": { "url": "https://chromium.googlesource.com/chromium/deps/sqlite.git", - "rev": "508ab21dc25702ed6690c4dd77da209a6bcd1239", - "hash": "sha256-SfvLfBKdPjFvZ7CzUeFMcyoHdCzQgNRQwZyzb6MRtJg=" + "rev": "fc121d7d03cd6cbf499ec06a5112b263471b1181", + "hash": "sha256-hf9PxQhXEKT49GbkFYCvRPBT0Qu+hDnDpebI92yO1Oo=" }, "src/third_party/swiftshader": { "url": "https://swiftshader.googlesource.com/SwiftShader.git", - "rev": "f9d5d49a3c599a315e3493dc1e9b5309cffb3305", - "hash": "sha256-kBfqgXXJeEPT80mu6CJ2Bwmdv/y8jVzM6TedMXbzo4o=" + "rev": "fce27a96526f54c6d31fdccf57629788e3712220", + "hash": "sha256-bmXZLpz3wv7eQWoqTjZmjwnnILWSIjZ8iqo8CeLk5fw=" }, "src/third_party/text-fragments-polyfill/src": { "url": "https://chromium.googlesource.com/external/github.com/GoogleChromeLabs/text-fragments-polyfill.git", @@ -1519,23 +1524,23 @@ }, "src/third_party/tflite/src": { "url": "https://chromium.googlesource.com/external/github.com/tensorflow/tensorflow.git", - "rev": "2216f531fb72119745382c62f232acf9790f4b6e", - "hash": "sha256-zySLNPmug5HS5pwJ/lEMAWjjZSOuxdTgup7Y90k7NZI=" + "rev": "999d49c10046e240cd5366d349d3a5f6af16a0d4", + "hash": "sha256-eSqaWXtzZ4Bi9ilaJYGdZamzUjmo+AtDZ9KeZhsc/fY=" }, "src/third_party/litert/src": { "url": "https://chromium.googlesource.com/external/github.com/google-ai-edge/LiteRT.git", - "rev": "9b5418dd7a1a318eed20395743dcc868df17d8b0", - "hash": "sha256-80amwDPF3RrcoTaTQsunNmlvBGs6KCv369FW3J/Xcts=" + "rev": "09b4b05203fd7a9402ffcce9cc736d887ff7e3fc", + "hash": "sha256-skMOzpsn67mmOAp7Mf6UrJdi2lbiQQ8b6kBy4Ik2ED8=" }, "src/third_party/vulkan-deps": { "url": "https://chromium.googlesource.com/vulkan-deps", - "rev": "d234b7b29748c07ef389279dd24f533ebd04cadc", - "hash": "sha256-w49HOjPixSI/C5IGlxQMj/Ol9f/Lr2zI2oMhQzzu1zk=" + "rev": "669a28b1f31f89bfc46b74791f127bcc5e5b2f06", + "hash": "sha256-lsR+sh+XQP/wKgkBbie6Gp+kQNFnnC8TeNWpiWTdevw=" }, "src/third_party/glslang/src": { "url": "https://chromium.googlesource.com/external/github.com/KhronosGroup/glslang", - "rev": "458ff50a67cb69371850068a62b78f1990a1ff9a", - "hash": "sha256-2WauVjAEeZn16b4fE4ImKPX3wjDmeN92mqWi3NMiXSw=" + "rev": "f6d9303ddaf2e879b9155f7186cd234f5a79079c", + "hash": "sha256-ru3QVyyyqxZRcvSpy9pYhHHhkjuLVhQbgOT/vQJ/oIw=" }, "src/third_party/spirv-cross/src": { "url": "https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Cross", @@ -1544,43 +1549,43 @@ }, "src/third_party/spirv-headers/src": { "url": "https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Headers", - "rev": "126038020c2bd47efaa942ccc364ca5353ffccde", - "hash": "sha256-QBX2M+ZSWgVvCx58NeDIdf6mIkdJbecDktBfUWGPvNc=" + "rev": "1e770e7de8373a8dd49f23416cf7ca4001d01040", + "hash": "sha256-t8Shkoa90TJt1MbTOefnLaguW4eYKsRFO1Jd0AUc70Y=" }, "src/third_party/spirv-tools/src": { "url": "https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools", - "rev": "2ec8457ab33d539b6f1fecc998360c0b8b05ed4f", - "hash": "sha256-9TBb/gnDXgZRZXhF27KEQ0XQI5itRHKJQjLrkFDQq7Q=" + "rev": "b38c4f83024546d4000b2db8e2294cf81b7f26e0", + "hash": "sha256-q5G4B75xBIXl1aG/vzbIDrc3Hs/MFoQ4nwh4ozb8hys=" }, "src/third_party/vulkan-headers/src": { "url": "https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Headers", - "rev": "f6a6f7ab165cedbfa2a7d0c93fe27a2d01ce09c8", - "hash": "sha256-ZbjmxbRUiVJADNRWziCH0UIM09qKf+lm9PRnWOhZFhQ=" + "rev": "015e25c3c91b70eb1a754d36fb14c4ba6ad9b0b9", + "hash": "sha256-pUxPwFGbOzP8ymTooeA1slFWEFsRoqUROSnndVtLiY8=" }, "src/third_party/vulkan-loader/src": { "url": "https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Loader", - "rev": "15a84652b94e465e9a7b25eb507193929863bc2f", - "hash": "sha256-pdC3YCM0Nzeabi5TPD+qR5PVdsxmWMnf2L9HsOcbv84=" + "rev": "cf0cf82ea16c0ff0be75940f282540d6085b2d3b", + "hash": "sha256-uyoysS7lSBNDRfvcwPT+gQqhE20UxiYUEw1UXnYS3fY=" }, "src/third_party/vulkan-tools/src": { "url": "https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Tools", - "rev": "7c46da2b39036a80ce088576d5794bf39e667f56", - "hash": "sha256-nAyNVveeGg9sA0E37YiEPm+UdKsy48nAOjnUYHQnuqw=" + "rev": "e3d18f90c0b8ef1f52539e0674a42f0adfe30381", + "hash": "sha256-Hs9N0FM3eWWjLm4BrDJoZIrsPDVFx0iRAJeQ4gHTM7o=" }, "src/third_party/vulkan-utility-libraries/src": { "url": "https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Utility-Libraries", - "rev": "2c909c1ab6f9c6caba39a84a4887186b3fafdead", - "hash": "sha256-k3xeKHQbd2rTQJsOZKXEMPrYjcHwoCC1N12F6AIP6Ho=" + "rev": "8383c46b129c2b3a5f3833e602d946d2fcc57e39", + "hash": "sha256-ZBie5uDTVEehxRQW1GZY5Ki/bnp82LoW3jfMUFL0O9A=" }, "src/third_party/vulkan-validation-layers/src": { "url": "https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-ValidationLayers", - "rev": "b105d8ea361af258abed65efb5a1565c031dcf1c", - "hash": "sha256-GgznBGYgnCFMNaqAOQ15dlw2dOFfSp3mAV2KokVLzgk=" + "rev": "044eaba8a34a6e3bfb1d6aafac7c01068813a2b6", + "hash": "sha256-i3hochkK0LZPg8CsZMFkAL+8tf8QuuwtApAc4FDd0RM=" }, "src/third_party/vulkan_memory_allocator": { "url": "https://chromium.googlesource.com/external/github.com/GPUOpen-LibrariesAndSDKs/VulkanMemoryAllocator.git", - "rev": "cb0597213b0fcb999caa9ed08c2f88dc45eb7d50", - "hash": "sha256-yBCs3zfqs/60htsZAOscjcyKhVbAWE6znweuXcs1oKo=" + "rev": "7e55b011e16182fc349149abbd3aaf3b1db46421", + "hash": "sha256-fOnFkcQDEGIe5yB507qnP9nA1LBBPFblncNiJ8JxAwI=" }, "src/third_party/wayland/src": { "url": "https://chromium.googlesource.com/external/anongit.freedesktop.org/git/wayland/wayland.git", @@ -1614,18 +1619,23 @@ }, "src/third_party/webgpu-cts/src": { "url": "https://chromium.googlesource.com/external/github.com/gpuweb/cts.git", - "rev": "3b327ebc44f11212fd3872972a6dd394634fb9e3", - "hash": "sha256-RSZVKv2Z0pg2cGa3Elr2r5VZqdxlRJ+6mzm1Au1qg1I=" + "rev": "b507bd117e53db86f2fb52d0d858d3ae7d684a85", + "hash": "sha256-6Y5Z0ErtsZdbuWTHa+PEiOxcZSbjBcnuOHbgtI1/+80=" }, "src/third_party/webpagereplay": { "url": "https://chromium.googlesource.com/webpagereplay.git", - "rev": "b7ac48f52cd298e966a76eb054412915c3e445d4", - "hash": "sha256-smtwB6vzLgCAePz0jNfrpm8TxrxBnBkigLxERhxUEvE=" + "rev": "b2b856131e36c99e9de9c419fe8ca02f857082ba", + "hash": "sha256-+hcaP7C5Eh3SLl5B8mRgOVdM/tvnFnb/oqUIWPoe0NA=" + }, + "src/third_party/webpagereplay/third_party/clang-format/script": { + "url": "https://chromium.googlesource.com/external/github.com/llvm/llvm-project/clang/tools/clang-format.git", + "rev": "6eddfb5ec5f92127a531eda66c568d3a11e7ec11", + "hash": "sha256-Cm6BOOlEyD0kdYxMSmk6Fj1Dnfs3zCzXsm+BOXgBme0=" }, "src/third_party/webrtc": { "url": "https://webrtc.googlesource.com/src.git", - "rev": "28311abc149a9bb7e6761a3d54f362a8d77e6793", - "hash": "sha256-WuaxKrbISJ1nwyoj2sPAhGCNz33xEYSX1WlDiM+zxpw=" + "rev": "1f975dfd761af6e5d76d28333191973b258d82a8", + "hash": "sha256-ucH+9HBkFyOKEItAWVoYmEzyU7h/UgWIvp/eC/JqGWU=" }, "src/third_party/wuffs/src": { "url": "https://skia.googlesource.com/external/github.com/google/wuffs-mirror-release-c.git", @@ -1639,8 +1649,8 @@ }, "src/third_party/xnnpack/src": { "url": "https://chromium.googlesource.com/external/github.com/google/XNNPACK.git", - "rev": "2ad25fc09167df69c6c02eb8082a0b9658dd5e80", - "hash": "sha256-vBMGBXzJPCcsc2kMyGecjti68oZHWUwJKd7tkKub6kg=" + "rev": "56ac34b3f45fae2eca1f32584f7f0b279be2cf1f", + "hash": "sha256-uw3r5g5rWamlFubBkXDb4KRx3hkOAoQyFo8l95GYGZI=" }, "src/third_party/libei/src": { "url": "https://chromium.googlesource.com/external/gitlab.freedesktop.org/libinput/libei.git", @@ -1649,13 +1659,18 @@ }, "src/third_party/zstd/src": { "url": "https://chromium.googlesource.com/external/github.com/facebook/zstd.git", - "rev": "3ae099b48dfcfe02b1b3ba81ab85457f8a922e9f", - "hash": "sha256-futF0sM6z9HAl6AMJwUULBRByN92FTBjRIzYb2vBFGg=" + "rev": "5233c58e6ca0b1c4c6b353ad79649191ed195bdc", + "hash": "sha256-vEl0s7Mjh+5rciOMxm99PNWiamtCk+sTN4lRYKCIZ+8=" }, "src/v8": { "url": "https://chromium.googlesource.com/v8/v8.git", - "rev": "933ce636c562cd54d68e7f7c93ab5cdffd685fca", - "hash": "sha256-zYArO6QS9nDIVWPINRVaDN1uX8X/wchBDeZHPZnwHYk=" + "rev": "968f19a8970f8d91702d86f0ec1522f3909781b7", + "hash": "sha256-x3rCWvC3hEjyJq6PNThhZEp4oRF9Y1JJEPnZTqVNVrY=" + }, + "src/agents/shared": { + "url": "https://chromium.googlesource.com/chromium/agents.git", + "rev": "e75efa515896f6bf1dea92eaffbcf8ee711a65d8", + "hash": "sha256-z2GrzF8jDkdfBdq1HP3gTgQpoqjmhc80kEZBmlue0os=" } } } diff --git a/pkgs/applications/networking/cluster/helm/plugins/helm-unittest.nix b/pkgs/applications/networking/cluster/helm/plugins/helm-unittest.nix index 983890fbc3c0..08d653227f02 100644 --- a/pkgs/applications/networking/cluster/helm/plugins/helm-unittest.nix +++ b/pkgs/applications/networking/cluster/helm/plugins/helm-unittest.nix @@ -1,14 +1,18 @@ { buildGoModule, fetchFromGitHub, + kubernetes-helm, lib, nix-update-script, + runCommand, + wrapHelm, + writableTmpDirAsHomeHook, }: let version = "1.1.1"; in -buildGoModule { +buildGoModule (finalAttrs: { pname = "helm-unittest"; inherit version; @@ -46,6 +50,26 @@ buildGoModule { ''; passthru = { + tests.smoke = + let + helm = wrapHelm kubernetes-helm { + plugins = [ finalAttrs.finalPackage ]; + }; + in + runCommand "helm-unittest-plugin-smoke" + { + nativeBuildInputs = [ + helm + writableTmpDirAsHomeHook + ]; + } + '' + cp -r ${./tests/helm-unittest/smoke} chart + chmod -R u+w chart + helm unittest chart + touch $out + ''; + updateScript = nix-update-script { }; }; @@ -58,4 +82,4 @@ buildGoModule { yurrriq ]; }; -} +}) diff --git a/pkgs/applications/networking/cluster/helm/plugins/tests/helm-unittest/smoke/Chart.yaml b/pkgs/applications/networking/cluster/helm/plugins/tests/helm-unittest/smoke/Chart.yaml new file mode 100644 index 000000000000..fe0d4f805044 --- /dev/null +++ b/pkgs/applications/networking/cluster/helm/plugins/tests/helm-unittest/smoke/Chart.yaml @@ -0,0 +1,3 @@ +apiVersion: v2 +name: smoke +version: 0.1.0 diff --git a/pkgs/applications/networking/cluster/helm/plugins/tests/helm-unittest/smoke/templates/configmap.yaml b/pkgs/applications/networking/cluster/helm/plugins/tests/helm-unittest/smoke/templates/configmap.yaml new file mode 100644 index 000000000000..25dff3db6797 --- /dev/null +++ b/pkgs/applications/networking/cluster/helm/plugins/tests/helm-unittest/smoke/templates/configmap.yaml @@ -0,0 +1,6 @@ +apiVersion: v1 +kind: ConfigMap +metadata: + name: "{{ .Release.Name }}-smoke" +data: + value: "{{ .Values.value }}" diff --git a/pkgs/applications/networking/cluster/helm/plugins/tests/helm-unittest/smoke/tests/configmap_test.yaml b/pkgs/applications/networking/cluster/helm/plugins/tests/helm-unittest/smoke/tests/configmap_test.yaml new file mode 100644 index 000000000000..ce6b1ac74dec --- /dev/null +++ b/pkgs/applications/networking/cluster/helm/plugins/tests/helm-unittest/smoke/tests/configmap_test.yaml @@ -0,0 +1,11 @@ +suite: configmap +templates: + - templates/configmap.yaml +tests: + - it: renders the configured value + set: + value: ok + asserts: + - equal: + path: data.value + value: ok diff --git a/pkgs/applications/networking/cluster/terraform-providers/providers.json b/pkgs/applications/networking/cluster/terraform-providers/providers.json index 29b4d81234c6..067b3ac11152 100644 --- a/pkgs/applications/networking/cluster/terraform-providers/providers.json +++ b/pkgs/applications/networking/cluster/terraform-providers/providers.json @@ -27,13 +27,13 @@ "vendorHash": null }, "aiven_aiven": { - "hash": "sha256-+iZbQ5V8DQXBRHlt3UuSa3WKbC5A0ootY4AQ6leTHBo=", + "hash": "sha256-rXoDdoBK4yS/suC6lEnK+dWxcILRG+XcMNXVyVmeQYw=", "homepage": "https://registry.terraform.io/providers/aiven/aiven", "owner": "aiven", "repo": "terraform-provider-aiven", - "rev": "v4.59.0", + "rev": "v4.60.0", "spdx": "MIT", - "vendorHash": "sha256-NWkgbkjaaA0dxphUWhiNqBaUKobdjsMEvD05WShZHHQ=" + "vendorHash": "sha256-4S5uyvSjtEOO1hK5MhuAmjsPBJ6qC1KN3/mrtRHU+P4=" }, "akamai_akamai": { "hash": "sha256-M6Btq8wX1lsEs1HUaaTwGspnvS2IyE0L2ITe+ogDTlc=", @@ -589,13 +589,13 @@ "vendorHash": "sha256-ayt8FR4684ZV5kd6exMw0AEgkMJLW5huvTYZqcr3q/s=" }, "hashicorp_google-beta": { - "hash": "sha256-LbNsD7R+TP9trNaMZq+OTyGlQPR6EZoSdUx3uo+3xUo=", + "hash": "sha256-pEdNv1MViCsCb3wFoDghCeQ5q2FErtGrQL9noL5B11g=", "homepage": "https://registry.terraform.io/providers/hashicorp/google-beta", "owner": "hashicorp", "repo": "terraform-provider-google-beta", - "rev": "v7.38.0", + "rev": "v7.39.0", "spdx": "MPL-2.0", - "vendorHash": "sha256-JAxI/E8GlUZd3RlhsrIhGm4+G18/obms+czJORYCENY=" + "vendorHash": "sha256-u4zldvOO/TtNHC8B+c63DWMbk7iEix+S+y/RLExchI8=" }, "hashicorp_helm": { "hash": "sha256-Dw6khnp0pronRKbBv2gx8ygtVvRV9uQIHCXj2BblZ6k=", @@ -688,13 +688,13 @@ "vendorHash": "sha256-aM9bDzYM4RW3cIeJCMnIB9VqEaPV4D0r3zMOU3d0QDs=" }, "hashicorp_vault": { - "hash": "sha256-k/S1ez6q70vvnHMfU2aweTFzRnLlYbxUEh4xZumT1mo=", + "hash": "sha256-Jl1mF2DIzLcXmevrFGLjnThUBR0TXiXvvgQYwFLwBtE=", "homepage": "https://registry.terraform.io/providers/hashicorp/vault", "owner": "hashicorp", "repo": "terraform-provider-vault", - "rev": "v5.9.0", + "rev": "v5.10.1", "spdx": "MPL-2.0", - "vendorHash": "sha256-0TJbC7gG5yduWrzp7MN5WWDjsdyL6RqXmOlIDs3OtaU=" + "vendorHash": "sha256-MMivACUsYhJg+wkag08NHEYkjjdJouq+QCR08CTAiKM=" }, "hashicorp_vsphere": { "hash": "sha256-vRO6vxzi4d0hNc0MmQLhN7roONnsjxPBtFt0fyvxWd8=", @@ -1157,13 +1157,13 @@ "vendorHash": null }, "sacloud_sakuracloud": { - "hash": "sha256-mk5tmlx8UZXedRbSKmSg9YqX9MJFWsSrMea1dirL+HI=", + "hash": "sha256-oAD+QfMqUOtbh2GNooyV1Yc1OVHuAnv86ZvuCB7zo8E=", "homepage": "https://registry.terraform.io/providers/sacloud/sakuracloud", "owner": "sacloud", "repo": "terraform-provider-sakuracloud", - "rev": "v2.36.0", + "rev": "v2.36.1", "spdx": "Apache-2.0", - "vendorHash": "sha256-vBcPWjugjqyuUdvxNQN1oC8V5D2SeW2WR0/c6OlgaXU=" + "vendorHash": "sha256-zklw0YajAZZLkosLxZCsWtAbvmHuGEI8OGpVykp1Xw4=" }, "sap-cloud-infrastructure_sci": { "hash": "sha256-eQA4mY+Rx5PLbTgGqfefYFc5gZKIvt1w2eag8ipE0PI=", @@ -1409,11 +1409,11 @@ "vendorHash": null }, "ubiquiti-community_unifi": { - "hash": "sha256-7lmT0ZCRfu3nL1FXAdxMxvQURtNcZiz9GY+0d7HI2N0=", + "hash": "sha256-wqR9XIuH9QzzacdOd8Z+QcfTXwjjnTQA8SbEHcLYhig=", "homepage": "https://registry.terraform.io/providers/ubiquiti-community/unifi", "owner": "ubiquiti-community", "repo": "terraform-provider-unifi", - "rev": "v0.53.0", + "rev": "v0.54.0", "spdx": "MPL-2.0", "vendorHash": "sha256-XPEH1zya7e/3N/HxBPN/vZxFU5GOOXfBPTrnZEUzdpw=" }, diff --git a/pkgs/applications/networking/instant-messengers/telegram/kotatogram-desktop/cstring-includes.patch b/pkgs/applications/networking/instant-messengers/telegram/kotatogram-desktop/cstring-includes.patch deleted file mode 100644 index e334777ac14f..000000000000 --- a/pkgs/applications/networking/instant-messengers/telegram/kotatogram-desktop/cstring-includes.patch +++ /dev/null @@ -1,74 +0,0 @@ -diff --git a/src/api/video/nv12_buffer.cc b/src/api/video/nv12_buffer.cc -index ca9dcd867..89d28f23c 100644 ---- a/src/api/video/nv12_buffer.cc -+++ b/src/api/video/nv12_buffer.cc -@@ -16,6 +16,8 @@ - #include "third_party/libyuv/include/libyuv/convert.h" - #include "third_party/libyuv/include/libyuv/scale.h" - -+#include -+ - namespace webrtc { - - namespace { -diff --git a/src/audio/utility/channel_mixer.cc b/src/audio/utility/channel_mixer.cc -index 0f1e66387..33b771b0c 100644 ---- a/src/audio/utility/channel_mixer.cc -+++ b/src/audio/utility/channel_mixer.cc -@@ -15,6 +15,8 @@ - #include "rtc_base/logging.h" - #include "rtc_base/numerics/safe_conversions.h" - -+#include -+ - namespace webrtc { - - ChannelMixer::ChannelMixer(ChannelLayout input_layout, -diff --git a/src/modules/audio_processing/aec3/alignment_mixer.cc b/src/modules/audio_processing/aec3/alignment_mixer.cc -index 7f076dea8..ffd7242b5 100644 ---- a/src/modules/audio_processing/aec3/alignment_mixer.cc -+++ b/src/modules/audio_processing/aec3/alignment_mixer.cc -@@ -10,6 +10,7 @@ - #include "modules/audio_processing/aec3/alignment_mixer.h" - - #include -+#include - - #include "rtc_base/checks.h" - -diff --git a/src/modules/desktop_capture/linux/wayland/shared_screencast_stream.cc b/src/modules/desktop_capture/linux/wayland/shared_screencast_stream.cc -index 7ef1a030e..5b9ab7137 100644 ---- a/src/modules/desktop_capture/linux/wayland/shared_screencast_stream.cc -+++ b/src/modules/desktop_capture/linux/wayland/shared_screencast_stream.cc -@@ -18,6 +18,7 @@ - #include - #include - -+#include - #include - - #include "absl/memory/memory.h" -diff --git a/src/modules/video_coding/utility/ivf_file_reader.cc b/src/modules/video_coding/utility/ivf_file_reader.cc -index 4c08ca613..f82f2bfcb 100644 ---- a/src/modules/video_coding/utility/ivf_file_reader.cc -+++ b/src/modules/video_coding/utility/ivf_file_reader.cc -@@ -10,6 +10,7 @@ - - #include "modules/video_coding/utility/ivf_file_reader.h" - -+#include - #include - #include - -diff --git a/src/net/dcsctp/packet/bounded_byte_writer.h b/src/net/dcsctp/packet/bounded_byte_writer.h -index d754549e4..bf5e3ed42 100644 ---- a/src/net/dcsctp/packet/bounded_byte_writer.h -+++ b/src/net/dcsctp/packet/bounded_byte_writer.h -@@ -12,6 +12,7 @@ - #define NET_DCSCTP_PACKET_BOUNDED_BYTE_WRITER_H_ - - #include -+#include - - #include "api/array_view.h" - \ No newline at end of file diff --git a/pkgs/applications/networking/instant-messengers/telegram/kotatogram-desktop/default.nix b/pkgs/applications/networking/instant-messengers/telegram/kotatogram-desktop/default.nix index da4652dca501..f4402d9798d8 100644 --- a/pkgs/applications/networking/instant-messengers/telegram/kotatogram-desktop/default.nix +++ b/pkgs/applications/networking/instant-messengers/telegram/kotatogram-desktop/default.nix @@ -1,97 +1,28 @@ { lib, - stdenv, fetchFromGitHub, - fetchpatch, - libsForQt5, - yasm, - alsa-lib, - jemalloc, - libopus, - libpulseaudio, + telegram-desktop, withWebkit ? true, }: let - telegram-desktop = libsForQt5.callPackage ../telegram-desktop { - inherit stdenv; - # N/A on Qt5 - kimageformats = null; - unwrapped = libsForQt5.callPackage ../telegram-desktop/unwrapped.nix { - inherit stdenv; - kcoreaddons = null; - qtshadertools = null; - }; - }; version = "1.4.9"; - tg_owt = telegram-desktop.tg_owt.overrideAttrs (oldAttrs: { - version = "0-unstable-2024-06-15"; - - src = fetchFromGitHub { - owner = "desktop-app"; - repo = "tg_owt"; - rev = "c9cc4390ab951f2cbc103ff783a11f398b27660b"; - hash = "sha256-FfWmSYaeryTDbsGJT3R7YK1oiyJcrR7YKKBOF+9PmpY="; - fetchSubmodules = true; - }; - - patches = [ - # fix build with latest glibc - # upstream PR: https://github.com/desktop-app/tg_owt/pull/172 - ./cstring-includes.patch - (fetchpatch { - url = "https://webrtc.googlesource.com/src/+/e7d10047096880feb5e9846375f2da54aef91202%5E%21/?format=TEXT"; - decode = "base64 -d"; - stripLen = 1; - extraPrefix = "src/"; - hash = "sha256-goxnuRRbwcdfIk1jFaKGiKCTCYn2saEj7En1Iyglzko="; - }) - ]; - - nativeBuildInputs = oldAttrs.nativeBuildInputs ++ [ yasm ]; - - env.NIX_CFLAGS_COMPILE = lib.optionalString stdenv.cc.isClang "-Wno-c++11-narrowing"; - }); in telegram-desktop.override { pname = "kotatogram-desktop"; inherit withWebkit; - unwrapped = (telegram-desktop.unwrapped.override { inherit tg_owt; }).overrideAttrs (old: { + unwrapped = telegram-desktop.unwrapped.overrideAttrs (old: { pname = "kotatogram-desktop-unwrapped"; - version = "${version}-unstable-2024-09-27"; + version = "${version}-unstable-2026-07-03"; src = fetchFromGitHub { owner = "kotatogram"; repo = "kotatogram-desktop"; - rev = "0581eb6219343b3cfcbb81124b372df1039b7568"; - hash = "sha256-rvn8GZmHdMkVutLUe/LmUNIawlb9VgU3sYhPwZ2MWsI="; + rev = "7263a1b53c9e6b45a416532644fff7a4c7f90d54"; + hash = "sha256-xOfHZ7oUJKk65j7o/AgxtFfc5NqsAoA9E+8U6rHlSmc="; fetchSubmodules = true; }; - patches = [ - ./macos-qt5.patch - ./glib-2.86.patch - (fetchpatch { - url = "https://gitlab.com/mnauw/cppgir/-/commit/c8bb1c6017a6f7f2e47bd10543aea6b3ec69a966.patch"; - stripLen = 1; - extraPrefix = "cmake/external/glib/cppgir/"; - hash = "sha256-8B4h3BTG8dIlt3+uVgBI569E9eCebcor9uohtsrZpnI="; - }) - ]; - - buildInputs = - (old.buildInputs or [ ]) - ++ [ - libopus - ] - ++ lib.optionals stdenv.hostPlatform.isLinux [ - alsa-lib - jemalloc - libpulseaudio - ]; - - env.NIX_CFLAGS_COMPILE = lib.optionalString stdenv.cc.isClang "-Wno-missing-template-arg-list-after-template-kw"; - meta = { description = "Kotatogram – experimental Telegram Desktop fork"; longDescription = '' @@ -104,7 +35,7 @@ telegram-desktop.override { homepage = "https://kotatogram.github.io"; changelog = "https://github.com/kotatogram/kotatogram-desktop/releases/tag/k${version}"; maintainers = with lib.maintainers; [ ilya-fedin ]; - mainProgram = if stdenv.hostPlatform.isLinux then "kotatogram-desktop" else "Kotatogram"; + mainProgram = "Kotatogram"; }; }); } diff --git a/pkgs/applications/networking/instant-messengers/telegram/kotatogram-desktop/glib-2.86.patch b/pkgs/applications/networking/instant-messengers/telegram/kotatogram-desktop/glib-2.86.patch deleted file mode 100644 index 5e7f5dc698ae..000000000000 --- a/pkgs/applications/networking/instant-messengers/telegram/kotatogram-desktop/glib-2.86.patch +++ /dev/null @@ -1,37 +0,0 @@ -Submodule Telegram/lib_base contains modified content -diff --git a/Telegram/lib_base/base/platform/linux/base_url_scheme_linux.cpp b/Telegram/lib_base/base/platform/linux/base_url_scheme_linux.cpp -index 4197367..f79d2fa 100644 ---- a/Telegram/lib_base/base/platform/linux/base_url_scheme_linux.cpp -+++ b/Telegram/lib_base/base/platform/linux/base_url_scheme_linux.cpp -@@ -15,7 +15,7 @@ - #include - #include - --#include -+#include - #include - - namespace base::Platform { -@@ -125,7 +125,7 @@ void RegisterUrlScheme(const UrlSchemeDescriptor &descriptor) { - - const auto appId = QGuiApplication::desktopFileName().toStdString(); - if (!appId.empty()) { -- Gio::AppInfo appInfo = Gio::DesktopAppInfo::new_(appId + ".desktop"); -+ Gio::AppInfo appInfo = GioUnix::DesktopAppInfo::new_(appId + ".desktop"); - if (appInfo) { - if (appInfo.get_commandline() == commandlineForCreator + " %u") { - appInfo.set_as_default_for_type(handlerType); -Submodule cmake contains modified content -diff --git a/cmake/external/glib/CMakeLists.txt b/cmake/external/glib/CMakeLists.txt -index 3c6fe4b..6f73dc5 100644 ---- a/cmake/external/glib/CMakeLists.txt -+++ b/cmake/external/glib/CMakeLists.txt -@@ -16,7 +16,7 @@ endfunction() - add_cppgir() - - include(generate_cppgir.cmake) --generate_cppgir(external_glib Gio-2.0) -+generate_cppgir(external_glib GioUnix-2.0) - - find_package(PkgConfig REQUIRED) - pkg_check_modules(GLIB2 REQUIRED IMPORTED_TARGET glib-2.0 gobject-2.0 gio-2.0 gio-unix-2.0) diff --git a/pkgs/applications/networking/instant-messengers/telegram/kotatogram-desktop/macos-qt5.patch b/pkgs/applications/networking/instant-messengers/telegram/kotatogram-desktop/macos-qt5.patch deleted file mode 100644 index 55beb31a7a4d..000000000000 --- a/pkgs/applications/networking/instant-messengers/telegram/kotatogram-desktop/macos-qt5.patch +++ /dev/null @@ -1,75 +0,0 @@ -diff --git a/Telegram/SourceFiles/platform/mac/main_window_mac.h b/Telegram/SourceFiles/platform/mac/main_window_mac.h -index 2a3a59b9cf..16b7b6cdde 100644 ---- a/Telegram/SourceFiles/platform/mac/main_window_mac.h -+++ b/Telegram/SourceFiles/platform/mac/main_window_mac.h -@@ -10,6 +10,7 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL - #include "platform/platform_main_window.h" - #include "platform/mac/specific_mac_p.h" - #include "base/timer.h" -+#include "base/qt/qt_common_adapters.h" - - #include - #include -@@ -52,7 +53,7 @@ private: - bool nativeEvent( - const QByteArray &eventType, - void *message, -- qintptr *result) override; -+ base::NativeEventResult *result) override; - - void hideAndDeactivate(); - void updateDockCounter(); -diff --git a/Telegram/SourceFiles/platform/mac/main_window_mac.mm b/Telegram/SourceFiles/platform/mac/main_window_mac.mm -index e95ef79f16..c3381926a9 100644 ---- a/Telegram/SourceFiles/platform/mac/main_window_mac.mm -+++ b/Telegram/SourceFiles/platform/mac/main_window_mac.mm -@@ -305,7 +305,7 @@ void MainWindow::updateWindowIcon() { - bool MainWindow::nativeEvent( - const QByteArray &eventType, - void *message, -- qintptr *result) { -+ base::NativeEventResult *result) { - if (message && eventType == "NSEvent") { - const auto event = static_cast(message); - if (PossiblyTextTypingEvent(event)) { -diff --git a/Telegram/SourceFiles/platform/mac/notifications_manager_mac.mm b/Telegram/SourceFiles/platform/mac/notifications_manager_mac.mm -index de28809077..2521428567 100644 ---- a/Telegram/SourceFiles/platform/mac/notifications_manager_mac.mm -+++ b/Telegram/SourceFiles/platform/mac/notifications_manager_mac.mm -@@ -502,11 +502,11 @@ void Manager::Private::invokeIfNotFocused(Fn callback) { - } else { - if (!_processesInited) { - _processesInited = true; -- QObject::connect(&_dnd, &QProcess::finished, [=] { -+ QObject::connect(&_dnd, QOverload::of(&QProcess::finished), [=] { - _waitingDnd = false; - checkFocusState(); - }); -- QObject::connect(&_focus, &QProcess::finished, [=] { -+ QObject::connect(&_focus, QOverload::of(&QProcess::finished), [=] { - _waitingFocus = false; - checkFocusState(); - }); -@@ -536,7 +536,7 @@ void Manager::Private::checkFocusState() { - } - const auto istrue = [](QProcess &process) { - const auto output = process.readAllStandardOutput(); -- DEBUG_LOG(("Focus Check: %1").arg(output)); -+ DEBUG_LOG(("Focus Check: %1").arg(QString::fromUtf8(output))); - const auto result = (output.trimmed() == u"true"_q); - return result; - }; -Submodule Telegram/lib_ui contains modified content -diff --git a/Telegram/lib_ui/ui/rp_widget.cpp b/Telegram/lib_ui/ui/rp_widget.cpp -index 0b57704..0d2ca01 100644 ---- a/Telegram/lib_ui/ui/rp_widget.cpp -+++ b/Telegram/lib_ui/ui/rp_widget.cpp -@@ -62,7 +62,7 @@ TWidget::TWidget(QWidget *parent) - auto format = QSurfaceFormat::defaultFormat(); - format.setSwapInterval(0); - #ifdef Q_OS_MAC -- format.setColorSpace(QColorSpace::SRgb); -+ format.setColorSpace(QSurfaceFormat::sRGBColorSpace); - #endif // Q_OS_MAC - QSurfaceFormat::setDefaultFormat(format); - return true; diff --git a/pkgs/applications/office/softmaker/freeoffice.nix b/pkgs/applications/office/softmaker/freeoffice.nix index 39cf3351dace..85a079b218f8 100644 --- a/pkgs/applications/office/softmaker/freeoffice.nix +++ b/pkgs/applications/office/softmaker/freeoffice.nix @@ -6,9 +6,9 @@ # overridable. This is useful when the upstream archive was replaced # and nixpkgs is not in sync yet. officeVersion ? { - version = "1220"; + version = "1234"; edition = "2024"; - hash = "sha256-F1Srm3/4UPifYls21MhjbpxSyLaT0gEVzEMQF0gIzi0="; + hash = "sha256-q5QUevkSxdh622ZMhwbO44HLJowpg0vwv9de7hdOUQQ="; }, ... diff --git a/pkgs/applications/virtualization/docker/compose.nix b/pkgs/applications/virtualization/docker/compose.nix index f1cc52d211f5..54b5bece0a47 100644 --- a/pkgs/applications/virtualization/docker/compose.nix +++ b/pkgs/applications/virtualization/docker/compose.nix @@ -6,16 +6,16 @@ }: buildGoModule rec { pname = "docker-compose"; - version = "5.2.0"; + version = "5.3.0"; src = fetchFromGitHub { owner = "docker"; repo = "compose"; tag = "v${version}"; - hash = "sha256-sKfsPn8CV62TXY0LoquQYEUgSBVDRiKW0Z3/py1RFng="; + hash = "sha256-Vq1CJcneoFYGlQjJgAZsPN8kR/xrnsF7abG7HACkdKA="; }; - vendorHash = "sha256-1cYmWaj6gvmM6207dj8E7kVKIOJlS4js9EwNXhnv13A="; + vendorHash = "sha256-aEM+iHtwy/axoI5KwG2BnqSYKEwmuUPr5KcmdaO1mho="; nativeInstallCheckInputs = [ versionCheckHook ]; diff --git a/pkgs/build-support/docker/default.nix b/pkgs/build-support/docker/default.nix index d8e9812c7bec..6e61677350fe 100644 --- a/pkgs/build-support/docker/default.nix +++ b/pkgs/build-support/docker/default.nix @@ -7,6 +7,7 @@ coreutils, devShellTools, e2fsprogs, + pkgsBuildBuild, proot, fakeNss, fakeroot, @@ -1246,7 +1247,7 @@ rec { # take images can know in advance how the image is supposed to be used. isExe = true; }; - nativeBuildInputs = [ makeWrapper ]; + nativeBuildInputs = [ pkgsBuildBuild.makeWrapper ]; inherit meta; } '' diff --git a/pkgs/by-name/ad/adif-multitool/package.nix b/pkgs/by-name/ad/adif-multitool/package.nix index 0d080ee66a17..67e9f9ef4282 100644 --- a/pkgs/by-name/ad/adif-multitool/package.nix +++ b/pkgs/by-name/ad/adif-multitool/package.nix @@ -5,15 +5,17 @@ }: buildGoModule (finalAttrs: { pname = "adif-multitool"; - version = "0.1.20"; + version = "0.1.22"; - vendorHash = "sha256-U9BpTDHjUZicMjKeyxyM/eOxJeAY2DMQMHOEMiCeN/U="; + vendorHash = "sha256-Fin0DUvpNPqKXpbDVekvWZYghJIpMLY9IRr2wdbZczc="; + + proxyVendor = true; src = fetchFromGitHub { owner = "flwyd"; repo = "adif-multitool"; tag = "v${finalAttrs.version}"; - hash = "sha256-qeAH8UTyEZn8As3wTjluONpjeT/5l9zicN5+8uwnbLo="; + hash = "sha256-UYnm4S4DP0c2ZkPkPScUHXdKiAz6JY9Lzdu4mAO49Dc="; }; meta = { diff --git a/pkgs/by-name/an/anchor/package.nix b/pkgs/by-name/an/anchor/package.nix index 97232abf87d6..76b35e307594 100644 --- a/pkgs/by-name/an/anchor/package.nix +++ b/pkgs/by-name/an/anchor/package.nix @@ -1,22 +1,23 @@ { lib, + stdenv, rustPlatform, fetchFromGitHub, }: rustPlatform.buildRustPackage (finalAttrs: { pname = "anchor"; - version = "1.0.2"; + version = "1.1.2"; src = fetchFromGitHub { owner = "otter-sec"; repo = "anchor"; tag = "v${finalAttrs.version}"; - hash = "sha256-J8q+oNT6x36LlTO/szlkxIcT5oFJ3y8b3YyqwBjDYX8="; + hash = "sha256-/aDNw+Up48NZZIjEKXj4M2UIbcCt766Tv0eOlFau2gQ="; fetchSubmodules = true; }; - cargoHash = "sha256-c+xhJas+SnnUshhpLx+C/4SH0uow/QG/1NlAbz9ePDc="; + cargoHash = "sha256-oEgWfklxjP8+TxrhDKJgcTsanpqJpEiHXJyir8neYj8="; # Only build the anchor-cli package cargoBuildFlags = [ @@ -30,6 +31,16 @@ rustPlatform.buildRustPackage (finalAttrs: { "anchor-cli" ]; + # These tests use tempdir + cargo metadata subprocess which fails on Darwin + # sandboxes due to getcwd() differences (XNU vs Linux). Tracked upstream at + # https://github.com/otter-sec/anchor/issues/4751 + checkFlags = map (t: "--skip=${t}") ( + lib.optionals stdenv.hostPlatform.isDarwin [ + "program::tests::discover_solana_programs_finds_sibling_programs_from_nested_member" + "program::tests::discover_solana_programs_lists_all_members_from_nested_member" + ] + ); + meta = { description = "Solana Sealevel Framework"; homepage = "https://github.com/otter-sec/anchor"; diff --git a/pkgs/by-name/ar/ark-pixel-font/package.nix b/pkgs/by-name/ar/ark-pixel-font/package.nix index 57222b4739ea..e458a9c6ca95 100644 --- a/pkgs/by-name/ar/ark-pixel-font/package.nix +++ b/pkgs/by-name/ar/ark-pixel-font/package.nix @@ -1,11 +1,11 @@ { lib, - python312Packages, + python3Packages, fetchFromGitHub, nix-update-script, }: -python312Packages.buildPythonPackage rec { +python3Packages.buildPythonApplication rec { pname = "ark-pixel-font"; version = "2025.08.24"; pyproject = false; @@ -17,7 +17,7 @@ python312Packages.buildPythonPackage rec { hash = "sha256-kxct994UmZhJBMlXZmayN24eiKqeG9T7GdyfsjBYpn0="; }; - dependencies = with python312Packages; [ + dependencies = with python3Packages; [ pixel-font-builder pixel-font-knife unidata-blocks diff --git a/pkgs/by-name/aw/awsebcli/package.nix b/pkgs/by-name/aw/awsebcli/package.nix index 580885fb4d06..6efd8d221e81 100644 --- a/pkgs/by-name/aw/awsebcli/package.nix +++ b/pkgs/by-name/aw/awsebcli/package.nix @@ -27,7 +27,7 @@ in python.pkgs.buildPythonApplication (finalAttrs: { pname = "awsebcli"; - version = "3.27.2"; + version = "3.27.3"; pyproject = true; doInstallCheck = true; @@ -35,7 +35,7 @@ python.pkgs.buildPythonApplication (finalAttrs: { owner = "aws"; repo = "aws-elastic-beanstalk-cli"; tag = finalAttrs.version; - hash = "sha256-hTRgNqccwbXxpS4F+JD2h19N/U671NjCBEMiDp6Jbio="; + hash = "sha256-p7W9HoFND28jcqrMp7cFOzmarxvcA3wFhrOCHyvoj5E="; }; pythonRelaxDeps = [ diff --git a/pkgs/by-name/ba/bacnet-stack/package.nix b/pkgs/by-name/ba/bacnet-stack/package.nix index 5f5e744a2f33..a97343ea89a9 100644 --- a/pkgs/by-name/ba/bacnet-stack/package.nix +++ b/pkgs/by-name/ba/bacnet-stack/package.nix @@ -2,35 +2,42 @@ lib, stdenv, fetchFromGitHub, + cmake, }: stdenv.mkDerivation (finalAttrs: { pname = "bacnet-stack"; - version = "1.3.5"; + version = "1.5.0"; src = fetchFromGitHub { owner = "bacnet-stack"; repo = "bacnet-stack"; - rev = "bacnet-stack-${finalAttrs.version}"; - sha256 = "sha256-Iwo0bNulKdFNwNU2xj6Uin+5hQt1I3N6+zso5BHrIOU="; + tag = "bacnet-stack-${finalAttrs.version}"; + hash = "sha256-CJmEEIGT6u2nsnl3btWL/JJPxQM53JF6l+mLBSF+Q8Q="; }; - hardeningDisable = [ "all" ]; + nativeBuildInputs = [ cmake ]; - buildPhase = '' - make BUILD=debug BACNET_PORT=linux BACDL_DEFINE=-DBACDL_BIP=1 BACNET_DEFINES=" -DPRINT_ENABLED=1 -DBACFILE -DBACAPP_ALL -DBACNET_PROPERTY_LISTS" - ''; - - installPhase = '' - mkdir $out - cp -r bin $out/bin + # bacnet-stack's CMakeLists builds the apps via add_executable() but never + # adds install(TARGETS ...) rules for them, so `make install` skips them. + # Copy them out of the CMake build tree manually. + postInstall = '' + mkdir -p $out/bin + find . -maxdepth 2 -type f -executable -not -name '*.so*' -not -name '*.a' \ + -exec cp -t $out/bin {} + ''; meta = { description = "BACnet open source protocol stack for embedded systems, Linux, and Windows"; homepage = "https://github.com/bacnet-stack/bacnet-stack"; - platforms = lib.platforms.linux; - license = lib.licenses.gpl2Plus; + changelog = "https://github.com/bacnet-stack/bacnet-stack/blob/bacnet-stack-${finalAttrs.version}/CHANGELOG.md"; + license = with lib.licenses; [ + gpl2Plus # Core stack (WITH GCC-exception-2.0) + mit # Examples and applications + asl20 # Auxiliary files (SPDX identified) + bsd3 # Auxiliary files (SPDX identified) + ]; maintainers = with lib.maintainers; [ WhittlesJr ]; + platforms = lib.platforms.linux; }; }) diff --git a/pkgs/by-name/ba/bazelisk/package.nix b/pkgs/by-name/ba/bazelisk/package.nix index b795a8b1bcd7..31ce4fda2dc3 100644 --- a/pkgs/by-name/ba/bazelisk/package.nix +++ b/pkgs/by-name/ba/bazelisk/package.nix @@ -6,16 +6,16 @@ buildGoModule (finalAttrs: { pname = "bazelisk"; - version = "1.28.1"; + version = "1.29.0"; src = fetchFromGitHub { owner = "bazelbuild"; repo = "bazelisk"; - rev = "v${finalAttrs.version}"; - sha256 = "sha256-iKU8B8yOT8cPvZhuor8ZVRsHQDoXq1ja1mr60XqHoEs="; + tag = "v${finalAttrs.version}"; + hash = "sha256-NijRYjJyWOqSkfDKOdki3nrc1OIhfooKLhusuiMY/Js="; }; - vendorHash = "sha256-PWqKq/2DFopeiecUL0iWnut8Kd/52U32sNSVGj3Ae5g="; + vendorHash = "sha256-oycCqzUAn/lNFjeLjM+PQfYNscaTi5E9D7Pnv8jrO8M="; ldflags = [ "-s" @@ -30,8 +30,10 @@ buildGoModule (finalAttrs: { BEWARE: This package does not work on NixOS. ''; homepage = "https://github.com/bazelbuild/bazelisk"; - changelog = "https://github.com/bazelbuild/bazelisk/releases/tag/v${finalAttrs.version}"; + changelog = "https://github.com/bazelbuild/bazelisk/releases/tag/${finalAttrs.src.tag}"; license = lib.licenses.asl20; - maintainers = [ ]; + maintainers = with lib.maintainers; [ + hythera + ]; }; }) diff --git a/pkgs/by-name/bi/bitwarden-desktop/package.nix b/pkgs/by-name/bi/bitwarden-desktop/package.nix index a53954076a30..305fcc575591 100644 --- a/pkgs/by-name/bi/bitwarden-desktop/package.nix +++ b/pkgs/by-name/bi/bitwarden-desktop/package.nix @@ -26,13 +26,13 @@ let in buildNpmPackage (finalAttrs: { pname = "bitwarden-desktop"; - version = "2026.6.0"; + version = "2026.6.1"; src = fetchFromGitHub { owner = "bitwarden"; repo = "clients"; tag = "desktop-v${finalAttrs.version}"; - hash = "sha256-JIIis3wW0cU33ovRQfJi3HlB2YdLZ5IPvueq1dGFbas="; + hash = "sha256-ee+C58Y5pZWEmqbRO/w7rdY+e6gy4EL7Sn0S1AxGMXI="; }; patches = [ @@ -74,7 +74,7 @@ buildNpmPackage (finalAttrs: { npmWorkspace = "apps/desktop"; npmDepsFetcherVersion = 3; - npmDepsHash = "sha256-mvFLZwWwIv4PbUwfTWvwZ9JyRoHJSwAA0cT4RXD0/YU="; + npmDepsHash = "sha256-C5GLei/WWetd4qLv7obBJWbQR9LBy+Sqdbjko3/W7VY="; cargoDeps = rustPlatform.fetchCargoVendor { inherit (finalAttrs) diff --git a/pkgs/by-name/br/breaktimer/package.nix b/pkgs/by-name/br/breaktimer/package.nix index 9fd129c237fc..361ce8d7e8be 100644 --- a/pkgs/by-name/br/breaktimer/package.nix +++ b/pkgs/by-name/br/breaktimer/package.nix @@ -3,7 +3,7 @@ stdenv, buildNpmPackage, copyDesktopItems, - electron_40, + electron_41, fetchFromGitHub, jq, makeDesktopItem, @@ -13,7 +13,7 @@ }: let - electron = electron_40; + electron = electron_41; nodejs = nodejs_24; description = "Cross-platform desktop app for managing periodic breaks"; in @@ -51,13 +51,6 @@ buildNpmPackage rec { copyDesktopItems ]; - preBuild = '' - if [[ $(jq --raw-output '.devDependencies.electron' < package.json | grep -E --only-matching '\^[0-9]+' | sed -e 's/\^//') != ${lib.escapeShellArg (lib.versions.major electron.version)} ]]; then - echo 'ERROR: electron version mismatch' - exit 1 - fi - ''; - buildPhase = '' runHook preBuild diff --git a/pkgs/by-name/bu/burp/package.nix b/pkgs/by-name/bu/burp/package.nix index 330974ba70b9..ac3d6f974dd4 100644 --- a/pkgs/by-name/bu/burp/package.nix +++ b/pkgs/by-name/bu/burp/package.nix @@ -2,65 +2,52 @@ lib, stdenv, fetchFromGitHub, - fetchpatch, autoreconfHook, pkg-config, acl, librsync, ncurses, - openssl_legacy, + openssl, zlib, uthash, }: stdenv.mkDerivation (finalAttrs: { pname = "burp"; - version = "2.4.0"; + version = "3.2.0"; src = fetchFromGitHub { owner = "grke"; repo = "burp"; tag = finalAttrs.version; - hash = "sha256-y6kRd1jD6t+Q6d5t7W9MDuk+m2Iq1THQkP50PJwI7Nc="; + hash = "sha256-jZSrHq3dL9Za71E2k4UDTHe10ESAgkBy5bogY2AqtnM="; }; - patches = [ - # Pull upstream fix for ncurses-6.3 support - (fetchpatch { - name = "ncurses-6.3.patch"; - url = "https://github.com/grke/burp/commit/1d6c931af7c11f164cf7ad3479781e8f03413496.patch"; - hash = "sha256-dJn9YhFQWggoqD3hce7F1d5qHYogbPP6+NMqCpVbTpM="; - }) - # Pull upstream fix for backup resuming - (fetchpatch { - name = "fix-resume.patch"; - url = "https://github.com/grke/burp/commit/b5ed667f73805b5af9842bb0351f5af95d4d50b3.patch"; - hash = "sha256-MT9D2thLgV4nT3LsIDHZp8sWQF2GlOENj0nkOQXZKuk="; - }) - ]; - nativeBuildInputs = [ autoreconfHook pkg-config ]; - # use openssl_legacy due to burp-2.4.0 not supporting file encryption with openssl 3.0 - # replace with 'openssl' once burp-3.x has been declared stable and this package upgraded + buildInputs = [ librsync ncurses - openssl_legacy + openssl zlib uthash ] ++ lib.optional (!stdenv.hostPlatform.isDarwin) acl; - configureFlags = [ "--localstatedir=/var" ]; + configureFlags = [ + "--sysconfdir=/etc/burp" + "--localstatedir=/var" + ]; installFlags = [ "localstatedir=/tmp" ]; meta = { - description = "BackUp and Restore Program"; + description = "Backup and restore Program"; homepage = "https://burp.grke.org"; + changelog = "https://github.com/grke/burp/blob/${finalAttrs.version}/CHANGELOG"; license = lib.licenses.agpl3Plus; maintainers = with lib.maintainers; [ arjan-s ]; platforms = lib.platforms.all; diff --git a/pkgs/by-name/ch/checkpolicy/package.nix b/pkgs/by-name/ch/checkpolicy/package.nix index b2d6a59daedf..9422f0807d29 100644 --- a/pkgs/by-name/ch/checkpolicy/package.nix +++ b/pkgs/by-name/ch/checkpolicy/package.nix @@ -9,12 +9,12 @@ stdenv.mkDerivation (finalAttrs: { pname = "checkpolicy"; - version = "3.10"; + version = "3.11"; inherit (libsepol) se_url; src = fetchurl { url = "${finalAttrs.se_url}/${finalAttrs.version}/checkpolicy-${finalAttrs.version}.tar.gz"; - hash = "sha256-LZKVHfywkNYXnnojhWYi4Py8Mr4Dvx5grOncnL2hHlk="; + hash = "sha256-m4G/zu9/qdAvmHLlanhvND3FjvS1cT3ODVxBbluEzvo="; }; nativeBuildInputs = [ diff --git a/pkgs/by-name/cl/claude-code/manifest.json b/pkgs/by-name/cl/claude-code/manifest.json index 0be0d04bc27d..0e61e0e3f62c 100644 --- a/pkgs/by-name/cl/claude-code/manifest.json +++ b/pkgs/by-name/cl/claude-code/manifest.json @@ -1,47 +1,47 @@ { - "version": "2.1.198", - "commit": "b80c496480ebf28e6dfe755cf0b8e3dd1d7cba1f", - "buildDate": "2026-07-01T06:17:25Z", + "version": "2.1.199", + "commit": "968b0c4118bde7c998acd97511e68daecacd8507", + "buildDate": "2026-07-02T01:58:04Z", "platforms": { "darwin-arm64": { "binary": "claude", - "checksum": "ab6f7ee109816ede414f7c285446633f805b623aa609f425609a64266451d61e", - "size": 229328464 + "checksum": "e3cb61abc8a2ec7b98976cee1ffdde5a3fa755c9990bc8d688cd89290e0dcec0", + "size": 232155536 }, "darwin-x64": { "binary": "claude", - "checksum": "280b6cfc60dacc4caed31af1249e53c259c01759556e60633944c02405c82dd0", - "size": 238706000 + "checksum": "e64853ff3bc2ae6ed8115581c851e1176762d445d0b8b9e0dd37d0d560224a88", + "size": 240192080 }, "linux-arm64": { "binary": "claude", - "checksum": "99b50a6f2b1f3ef07bcaf1e58a2f9883c470c84e428afa321972b1aa20372e9a", - "size": 245742320 + "checksum": "14851b5170b154b01baca09bba970172e70cdd768b5a012bf347ba0f594b4ad3", + "size": 247184112 }, "linux-x64": { "binary": "claude", - "checksum": "7066af42a5fe93038c13af5072d4c034dc3928092cb121fdd892c76b94b6b84d", - "size": 248900408 + "checksum": "b31dfd5e3dee23b51c42e0d8ddb405148978237d3aabc8cbbf77c5cf83367e27", + "size": 250383160 }, "linux-arm64-musl": { "binary": "claude", - "checksum": "88cb391085e419457569bcc57a672f734f30b424e17df7323f3bbb421238e801", - "size": 238990520 + "checksum": "4115c07bc6dfa71affff595400599032b70b4ab25b7a2dae982341ef4da47b38", + "size": 240432312 }, "linux-x64-musl": { "binary": "claude", - "checksum": "42892159a03bee492926b616b1270313544f7a52b68d32cb680e91984a4c6659", - "size": 243589504 + "checksum": "22c8b0861078cef1b572023e7eda4ce0dda7e12cc2e3060858eaa3de010bee21", + "size": 245068160 }, "win32-x64": { "binary": "claude.exe", - "checksum": "6afd07cb03aa981c5e918808f53a1e2b729015b695122a944f6e41aaf5393933", - "size": 239292064 + "checksum": "63de670613bb74594564a2125cb54e0e2e78192c5696e396adfae093b9132eec", + "size": 240716448 }, "win32-arm64": { "binary": "claude.exe", - "checksum": "10a6d21332f674c87f52b1dc09926945d0169f1bb82aced84ada100639ab70bc", - "size": 233758880 + "checksum": "7e4900b1ce5588003e0ade6caa0aaef1e2b8efd903c5a86c671d0de258b7a4d4", + "size": 235182752 } } } diff --git a/pkgs/by-name/cl/cliflux/package.nix b/pkgs/by-name/cl/cliflux/package.nix index 1e5237d140a8..ab09017374b0 100644 --- a/pkgs/by-name/cl/cliflux/package.nix +++ b/pkgs/by-name/cl/cliflux/package.nix @@ -1,7 +1,7 @@ { lib, rustPlatform, - fetchFromGitHub, + fetchFromCodeberg, pkg-config, openssl, nix-update-script, @@ -9,16 +9,16 @@ rustPlatform.buildRustPackage (finalAttrs: { pname = "cliflux"; - version = "1.9.1"; + version = "1.10.0"; - src = fetchFromGitHub { + src = fetchFromCodeberg { owner = "spencerwi"; repo = "cliflux"; tag = "v${finalAttrs.version}"; - hash = "sha256-oBjflPZooZatZCvKLA8h0BMuj++2tPrhE365zTk7vhM="; + hash = "sha256-fzuqgzBVnVIOcRplDKLBskhX9PlMA9LM0f3MnLqzyhk="; }; - cargoHash = "sha256-Q+/sh7Wku40SyhmgGci1YgCXQuEu1Zf4DaRDlDqWpak="; + cargoHash = "sha256-gAfN3kO5wrZ8usKv4C97LT+BAEu9ZD8ZP/GOCrWC7Nk="; nativeBuildInputs = [ pkg-config @@ -32,8 +32,8 @@ rustPlatform.buildRustPackage (finalAttrs: { meta = { description = "Terminal client for Miniflux RSS reader"; - homepage = "https://github.com/spencerwi/cliflux"; - changelog = "https://github.com/spencerwi/cliflux/blob/v${finalAttrs.version}/CHANGELOG.md"; + homepage = "https://codeberg.org/spencerwi/cliflux"; + changelog = "https://codeberg.org/spencerwi/cliflux/raw/tag/v${finalAttrs.version}/CHANGELOG.md"; license = lib.licenses.mit; maintainers = [ ]; mainProgram = "cliflux"; diff --git a/pkgs/by-name/cn/cnspec/package.nix b/pkgs/by-name/cn/cnspec/package.nix index 9574fd82a314..f1e795dbc820 100644 --- a/pkgs/by-name/cn/cnspec/package.nix +++ b/pkgs/by-name/cn/cnspec/package.nix @@ -6,18 +6,18 @@ buildGoModule (finalAttrs: { pname = "cnspec"; - version = "13.27.0"; + version = "13.27.4"; src = fetchFromGitHub { owner = "mondoohq"; repo = "cnspec"; tag = "v${finalAttrs.version}"; - hash = "sha256-t/ugT15QxiwMJybX2mIwgx0wGQETLFJWplxNEosTq4A="; + hash = "sha256-HcDGHcKxbXYTF+PdrjcOcCH/0Hnz++qIGdbDYtCRpDM="; }; proxyVendor = true; - vendorHash = "sha256-M2f2HApngE8GJRXy53u7bif1puNTE6BV6oxmnvSSS6Y="; + vendorHash = "sha256-suSEjRh6vSSI2jRyz12nLD/G1gvQiWC4aGx2J2drSIo="; subPackages = [ "apps/cnspec" ]; diff --git a/pkgs/by-name/co/concord-tui/package.nix b/pkgs/by-name/co/concord-tui/package.nix index ea8bf1c28fd9..b8dfebebee76 100644 --- a/pkgs/by-name/co/concord-tui/package.nix +++ b/pkgs/by-name/co/concord-tui/package.nix @@ -10,16 +10,16 @@ }: rustPlatform.buildRustPackage (finalAttrs: { pname = "concord-tui"; - version = "2.2.7"; + version = "2.2.12"; src = fetchFromGitHub { owner = "chojs23"; repo = "concord"; tag = "v${finalAttrs.version}"; - hash = "sha256-WSZsN1+ZhFWTHl9BvKERrr0lQj06N392Jo2nYjNm5QY="; + hash = "sha256-oohoQIShX6zZC4fEPQnkvJVqhJSmU21ZrbfN9bDTnQI="; }; - cargoHash = "sha256-LJnwO9507nLptKARCih58+wKrHzLGu+qQ/guf1oezX8="; + cargoHash = "sha256-TFjph7qSc3dHaMRUC7kUwvblfB8zdyvcMT16aHFm8wo="; buildInputs = [ opus @@ -40,7 +40,10 @@ rustPlatform.buildRustPackage (finalAttrs: { description = "Feature-rich TUI client for Discord, written in Rust"; homepage = "https://github.com/chojs23/concord"; license = lib.licenses.gpl3Only; - maintainers = with lib.maintainers; [ Simon-Weij ]; + maintainers = with lib.maintainers; [ + Simon-Weij + neo + ]; mainProgram = "concord"; }; }) diff --git a/pkgs/by-name/co/cope/package.nix b/pkgs/by-name/co/cope/package.nix index 0c62015faec9..90e296b853c7 100644 --- a/pkgs/by-name/co/cope/package.nix +++ b/pkgs/by-name/co/cope/package.nix @@ -14,6 +14,12 @@ perlPackages.buildPerlPackage { rev = "6d0322a8493361ad32e454b97998df715dbe7b97"; hash = "sha256-VQveV7avM/4nbLroyujJaSoVAP3pXhwrzqzI3eMzxVo="; }; + + postPatch = '' + substituteInPlace lib/App/Cope.pm \ + --replace-warn "feature->import( ':5.10' );" "require feature; feature->import( ':5.10' );" + ''; + nativeBuildInputs = [ makeWrapper ]; buildInputs = with perlPackages; [ @@ -67,6 +73,5 @@ perlPackages.buildPerlPackage { gpl1Plus ]; maintainers = with lib.maintainers; [ deftdawg ]; - broken = true; # requires old Perl we don't ship anymore }; } diff --git a/pkgs/by-name/co/corrosion/package.nix b/pkgs/by-name/co/corrosion/package.nix index ce647cbdf350..9c313f9c1882 100644 --- a/pkgs/by-name/co/corrosion/package.nix +++ b/pkgs/by-name/co/corrosion/package.nix @@ -2,6 +2,7 @@ lib, stdenv, fetchFromGitHub, + fetchpatch, cargo, cmake, rustc, @@ -18,6 +19,14 @@ stdenv.mkDerivation (finalAttrs: { rev = "v${finalAttrs.version}"; hash = "sha256-ppuDNObfKhneD9AlnPAvyCRHKW3BidXKglD1j/LE9CM="; }; + patches = [ + # Fix for this hard to debug issue in dependent packages: + # https://github.com/corrosion-rs/corrosion/issues/588 + (fetchpatch { + url = "https://github.com/corrosion-rs/corrosion/commit/7dab832903ddfb0f644cbd014252d477e692012b.patch"; + hash = "sha256-T9ILTfAd/i63v45YJQsz8F/P3NBwrP1mL2bKNU0NaLw="; + }) + ]; buildInputs = lib.optional stdenv.hostPlatform.isDarwin libiconv; diff --git a/pkgs/by-name/cy/cyberstrike/package.nix b/pkgs/by-name/cy/cyberstrike/package.nix new file mode 100644 index 000000000000..8ce2972eb26e --- /dev/null +++ b/pkgs/by-name/cy/cyberstrike/package.nix @@ -0,0 +1,178 @@ +{ + lib, + bun, + fetchFromGitHub, + installShellFiles, + makeBinaryWrapper, + models-dev, + nix-update-script, + nodejs, + ripgrep, + stdenvNoCC, + sysctl, + versionCheckHook, + writableTmpDirAsHomeHook, +}: + +stdenvNoCC.mkDerivation (finalAttrs: { + pname = "cyberstrike"; + version = "1.1.14"; + + __structuredAttrs = true; + strictDeps = true; + + src = fetchFromGitHub { + owner = "CyberStrikeus"; + repo = "CyberStrike"; + tag = "v${finalAttrs.version}"; + hash = "sha256-MlFEGP/MiuDtLl7Ms6j11u1MdLV6w8T/7TYo7eeE/rc="; + }; + + node_modules = stdenvNoCC.mkDerivation { + pname = "${finalAttrs.pname}-node_modules"; + inherit (finalAttrs) version src; + + impureEnvVars = lib.fetchers.proxyImpureEnvVars ++ [ + "GIT_PROXY_COMMAND" + "SOCKS_SERVER" + ]; + + nativeBuildInputs = [ + bun + writableTmpDirAsHomeHook + ]; + + dontConfigure = true; + + buildPhase = '' + runHook preBuild + + export BUN_INSTALL_CACHE_DIR=$(mktemp -d) + bun install \ + --cpu="${if stdenvNoCC.hostPlatform.isAarch64 then "arm64" else "x64"}" \ + --os="${if stdenvNoCC.hostPlatform.isLinux then "linux" else "darwin"}" \ + --filter '!./' \ + --filter './packages/cyberstrike' \ + --frozen-lockfile \ + --ignore-scripts \ + --no-progress + + bun --bun ./nix/scripts/canonicalize-node-modules.ts + bun --bun ./nix/scripts/normalize-bun-binaries.ts + + runHook postBuild + ''; + + installPhase = '' + runHook preInstall + + mkdir -p $out + find . -type d -name node_modules -exec cp -R --parents {} $out \; + + runHook postInstall + ''; + + # Required so fixed-output derivation does not retain store references + dontFixup = true; + + outputHash = "sha256-IxIdzd9MJJRpc0nB5eEASSW0LIckU+SvcUgkKoL+mog="; + outputHashAlgo = "sha256"; + outputHashMode = "recursive"; + }; + + nativeBuildInputs = [ + bun + installShellFiles + makeBinaryWrapper + writableTmpDirAsHomeHook + ]; + + configurePhase = '' + runHook preConfigure + + cp -R ${finalAttrs.node_modules}/. . + patchShebangs node_modules + patchShebangs packages/*/node_modules + + runHook postConfigure + ''; + + env = { + MODELS_DEV_API_JSON = "${models-dev}/dist/_api.json"; + CYBERSTRIKE_DISABLE_MODELS_FETCH = true; + CYBERSTRIKE_VERSION = finalAttrs.version; + CYBERSTRIKE_CHANNEL = "local"; + }; + + buildPhase = '' + runHook preBuild + + cd ./packages/cyberstrike + bun --bun ./script/build.ts --single --skip-install + bun --bun ./script/schema.ts schema.json + + runHook postBuild + ''; + + installPhase = '' + runHook preInstall + + install -Dm755 dist/cyberstrike-*/bin/cyberstrike $out/bin/cyberstrike + install -Dm644 schema.json $out/share/cyberstrike/schema.json + + wrapProgram $out/bin/cyberstrike \ + --prefix PATH : ${ + lib.makeBinPath ( + [ + ripgrep + nodejs + ] + ++ lib.optional stdenvNoCC.hostPlatform.isDarwin sysctl + ) + } + + runHook postInstall + ''; + + postInstall = lib.optionalString (stdenvNoCC.buildPlatform.canExecute stdenvNoCC.hostPlatform) '' + installShellCompletion --cmd cyberstrike \ + --bash <($out/bin/cyberstrike completion) \ + --zsh <(SHELL=/bin/zsh $out/bin/cyberstrike completion) + ''; + + nativeInstallCheckInputs = [ + versionCheckHook + writableTmpDirAsHomeHook + ]; + + doInstallCheck = true; + + versionCheckKeepEnvironment = [ + "HOME" + "CYBERSTRIKE_DISABLE_MODELS_FETCH" + ]; + + versionCheckProgramArg = "--version"; + + passthru = { + jsonschema = { + config = "${placeholder "out"}/share/cyberstrike/schema.json"; + tui = "${placeholder "out"}/share/cyberstrike/tui.json"; + }; + updateScript = nix-update-script { + extraArgs = [ + "--subpackage" + "node_modules" + ]; + }; + }; + + meta = { + description = "AI-powered offensive security agent"; + homepage = "https://github.com/CyberStrikeus/CyberStrike"; + changelog = "https://github.com/CyberStrikeus/CyberStrike/blob/${finalAttrs.src.rev}/CHANGELOG.md"; + license = lib.licenses.agpl3Only; + maintainers = with lib.maintainers; [ fab ]; + mainProgram = "cyberstrike"; + }; +}) diff --git a/pkgs/by-name/dd/ddccontrol-db/package.nix b/pkgs/by-name/dd/ddccontrol-db/package.nix index f963703bcafc..29b822324792 100644 --- a/pkgs/by-name/dd/ddccontrol-db/package.nix +++ b/pkgs/by-name/dd/ddccontrol-db/package.nix @@ -10,13 +10,13 @@ stdenv.mkDerivation (finalAttrs: { pname = "ddccontrol-db"; - version = "20260611"; + version = "20260702"; src = fetchFromGitHub { owner = "ddccontrol"; repo = "ddccontrol-db"; tag = finalAttrs.version; - sha256 = "sha256-wK6PuUy+2qeh935Oz26MMjlfB+PmRSPQMIYCnBGfThE="; + sha256 = "sha256-Jv/NYaynTvvV9zQLtvRfUBYzORWOCqP82/mVMR4Evjg="; }; nativeBuildInputs = [ diff --git a/pkgs/by-name/de/delve/package.nix b/pkgs/by-name/de/delve/package.nix index 053b6aa93d68..32b4bf498625 100644 --- a/pkgs/by-name/de/delve/package.nix +++ b/pkgs/by-name/de/delve/package.nix @@ -9,13 +9,13 @@ buildGoModule (finalAttrs: { pname = "delve"; - version = "1.26.3"; + version = "1.27.0"; src = fetchFromGitHub { owner = "go-delve"; repo = "delve"; tag = "v${finalAttrs.version}"; - hash = "sha256-R7rxWJZ1AfwH/ytgQnq21D5d4YRm3fzYSIG0eugww1U="; + hash = "sha256-g7Lyi+lZZ818p4yINoJ12bdCY8sTwxaU/eRkuofnqnU="; }; patches = [ diff --git a/pkgs/by-name/ef/effitask/package.nix b/pkgs/by-name/ef/effitask/package.nix index 363554688ae6..7fc694d37356 100644 --- a/pkgs/by-name/ef/effitask/package.nix +++ b/pkgs/by-name/ef/effitask/package.nix @@ -13,7 +13,7 @@ rustPlatform.buildRustPackage (finalAttrs: { version = "1.4.2"; src = fetchFromGitHub { - owner = "sanpii"; + owner = "todotxt-rs"; repo = "effitask"; rev = finalAttrs.version; sha256 = "sha256-6BA/TCCqVh5rtgGkUgk8nIqUzozipC5rrkbXMDWYpdQ="; @@ -45,7 +45,7 @@ rustPlatform.buildRustPackage (finalAttrs: { Or use it as standalone program by defining some environment variables like described in the projects readme. ''; - homepage = "https://github.com/sanpii/effitask"; + homepage = "https://github.com/todotxt-rs/effitask"; maintainers = with lib.maintainers; [ davidak ]; license = with lib.licenses; [ mit ]; mainProgram = "effitask"; diff --git a/pkgs/by-name/ek/eksctl/package.nix b/pkgs/by-name/ek/eksctl/package.nix index c8f79d529781..5c130c809433 100644 --- a/pkgs/by-name/ek/eksctl/package.nix +++ b/pkgs/by-name/ek/eksctl/package.nix @@ -11,7 +11,7 @@ buildGoModule (finalAttrs: { version = "0.226.0"; src = fetchFromGitHub { - owner = "weaveworks"; + owner = "eksctl-io"; repo = "eksctl"; rev = finalAttrs.version; hash = "sha256-XjiM4o4xJPY+ZFtvWi5K99tQaZwNxiCla/jUeQQo+5E="; @@ -46,7 +46,7 @@ buildGoModule (finalAttrs: { meta = { description = "CLI for Amazon EKS"; - homepage = "https://github.com/weaveworks/eksctl"; + homepage = "https://github.com/eksctl-io/eksctl"; changelog = "https://github.com/eksctl-io/eksctl/releases/tag/v${finalAttrs.version}"; license = lib.licenses.asl20; maintainers = with lib.maintainers; [ diff --git a/pkgs/by-name/el/elfcat/package.nix b/pkgs/by-name/el/elfcat/package.nix index cb3dc8582637..28cad761edf5 100644 --- a/pkgs/by-name/el/elfcat/package.nix +++ b/pkgs/by-name/el/elfcat/package.nix @@ -9,7 +9,7 @@ rustPlatform.buildRustPackage (finalAttrs: { version = "0.1.10"; src = fetchFromGitHub { - owner = "ruslashev"; + owner = "rbakbashev"; repo = "elfcat"; rev = finalAttrs.version; sha256 = "sha256-8jyOYV455APlf8F6HmgyvgfNGddMzrcGhj7yFQT6qvg="; @@ -19,7 +19,7 @@ rustPlatform.buildRustPackage (finalAttrs: { meta = { description = "ELF visualizer, generates HTML files from ELF binaries"; - homepage = "https://github.com/ruslashev/elfcat"; + homepage = "https://github.com/rbakbashev/elfcat"; license = lib.licenses.zlib; maintainers = with lib.maintainers; [ moni ]; mainProgram = "elfcat"; diff --git a/pkgs/by-name/em/embree/package.nix b/pkgs/by-name/em/embree/package.nix index 3ae3f3ad15f0..7fe937c20fbe 100644 --- a/pkgs/by-name/em/embree/package.nix +++ b/pkgs/by-name/em/embree/package.nix @@ -20,7 +20,7 @@ stdenv.mkDerivation (finalAttrs: { version = "4.4.1"; src = fetchFromGitHub { - owner = "embree"; + owner = "RenderKit"; repo = "embree"; tag = "v${finalAttrs.version}"; hash = "sha256-ZJItp33XUmaTk5s4AbM/uzWGxSdGh5scdZAZDBYy28M="; diff --git a/pkgs/by-name/em/emissary/package.nix b/pkgs/by-name/em/emissary/package.nix index 8f4293038f95..adc4a39eacf3 100644 --- a/pkgs/by-name/em/emissary/package.nix +++ b/pkgs/by-name/em/emissary/package.nix @@ -11,7 +11,7 @@ rustPlatform.buildRustPackage (finalAttrs: { version = "0.3.1"; src = fetchFromGitHub { - owner = "altonen"; + owner = "eepnet"; repo = "emissary"; tag = "v${finalAttrs.version}"; hash = "sha256-fLhvMzdxXAuEB99NgIfTLxYezIIZVaC8Z6snK9UUEl0="; @@ -30,10 +30,10 @@ rustPlatform.buildRustPackage (finalAttrs: { __darwinAllowLocalNetworking = true; meta = { - changelog = "https://github.com/altonen/emissary/releases/tag/${finalAttrs.version}"; + changelog = "https://github.com/eepnet/emissary/releases/tag/${finalAttrs.version}"; description = "Rust implementation of the I2P protocol stack"; homepage = "https://altonen.github.io/emissary/"; - license = lib.licenses.mit; # https://github.com/altonen/emissary/blob/master/LICENSE (found an apache2 as well but thats for https://github.com/altonen/emissary/commit/c4a1c849ebfceba892adce53f512f1f099721de2) + license = lib.licenses.mit; # https://github.com/eepnet/emissary/blob/master/LICENSE (found an apache2 as well but thats for https://github.com/eepnet/emissary/commit/c4a1c849ebfceba892adce53f512f1f099721de2) mainProgram = "emissary-cli"; maintainers = [ lib.maintainers.N4CH723HR3R ]; }; diff --git a/pkgs/by-name/en/ente-auth/package.nix b/pkgs/by-name/en/ente-auth/package.nix index ceee123b2076..8e401dad5ba9 100644 --- a/pkgs/by-name/en/ente-auth/package.nix +++ b/pkgs/by-name/en/ente-auth/package.nix @@ -20,7 +20,7 @@ flutter.buildFlutterApplication rec { version = "4.4.17"; src = fetchFromGitHub { - owner = "ente-io"; + owner = "ente"; repo = "ente"; sparseCheckout = [ "mobile" ]; tag = "auth-v${version}"; @@ -94,8 +94,8 @@ flutter.buildFlutterApplication rec { "--dart-define=app.flavor=independent" ]; - # Based on https://github.com/ente-io/ente/blob/main/auth/linux/packaging/rpm/make_config.yaml - # and https://github.com/ente-io/ente/blob/main/auth/linux/packaging/enteauth.appdata.xml + # Based on https://github.com/ente/ente/blob/main/auth/linux/packaging/rpm/make_config.yaml + # and https://github.com/ente/ente/blob/main/auth/linux/packaging/enteauth.appdata.xml desktopItems = [ (makeDesktopItem { name = desktopId; @@ -138,7 +138,7 @@ flutter.buildFlutterApplication rec { Ente's 2FA app. An end-to-end encrypted, cross platform and free app for storing your 2FA codes with cloud backups. Works offline. You can even use it without signing up for an account if you don't want the cloud backups or multi-device sync. ''; homepage = "https://ente.io/auth/"; - changelog = "https://github.com/ente-io/ente/releases/tag/auth-v${version}"; + changelog = "https://github.com/ente/ente/releases/tag/auth-v${version}"; license = lib.licenses.agpl3Only; maintainers = with lib.maintainers; [ niklaskorz diff --git a/pkgs/by-name/en/ente-cli/package.nix b/pkgs/by-name/en/ente-cli/package.nix index a4e5a7994861..44fcafa74a91 100644 --- a/pkgs/by-name/en/ente-cli/package.nix +++ b/pkgs/by-name/en/ente-cli/package.nix @@ -13,7 +13,7 @@ buildGoModule (finalAttrs: { version = "0.2.3"; src = fetchFromGitHub { - owner = "ente-io"; + owner = "ente"; repo = "ente"; tag = "cli-v${finalAttrs.version}"; hash = "sha256-qKMFoNtD5gH0Y+asD0LR5d3mxGpr2qVWXIUzJTSezeI="; @@ -83,8 +83,8 @@ buildGoModule (finalAttrs: { longDescription = '' The Ente CLI is a Command Line Utility for exporting data from Ente. It also does a few more things, for example, you can use it to decrypting the export from Ente Auth. ''; - homepage = "https://github.com/ente-io/ente/tree/main/cli#readme"; - changelog = "https://github.com/ente-io/ente/releases/tag/cli-v${finalAttrs.version}"; + homepage = "https://github.com/ente/ente/tree/main/cli#readme"; + changelog = "https://github.com/ente/ente/releases/tag/cli-v${finalAttrs.version}"; license = lib.licenses.agpl3Only; maintainers = with lib.maintainers; [ zi3m5f ]; mainProgram = "ente"; diff --git a/pkgs/by-name/en/ente-desktop/package.nix b/pkgs/by-name/en/ente-desktop/package.nix index d579610bf834..b53c3c24aa1a 100644 --- a/pkgs/by-name/en/ente-desktop/package.nix +++ b/pkgs/by-name/en/ente-desktop/package.nix @@ -35,7 +35,7 @@ stdenv.mkDerivation (finalAttrs: { version = "1.7.24"; src = fetchFromGitHub { - owner = "ente-io"; + owner = "ente"; repo = "ente"; fetchSubmodules = true; sparseCheckout = [ @@ -169,7 +169,7 @@ stdenv.mkDerivation (finalAttrs: { ''; # The desktop item properties should be kept in sync with data from upstream: - # https://github.com/ente-io/ente/blob/main/desktop/electron-builder.yml + # https://github.com/ente/ente/blob/main/desktop/electron-builder.yml desktopItems = lib.optionals (!stdenv.hostPlatform.isDarwin) [ (makeDesktopItem { name = "ente-desktop"; diff --git a/pkgs/by-name/en/ente-web/package.nix b/pkgs/by-name/en/ente-web/package.nix index 7ba48dbf8d3f..726296c7641a 100644 --- a/pkgs/by-name/en/ente-web/package.nix +++ b/pkgs/by-name/en/ente-web/package.nix @@ -30,7 +30,7 @@ stdenv.mkDerivation (finalAttrs: { version = "1.3.36"; src = fetchFromGitHub { - owner = "ente-io"; + owner = "ente"; repo = "ente"; sparseCheckout = [ "rust" @@ -72,7 +72,7 @@ stdenv.mkDerivation (finalAttrs: { wasm-pack ]; - # See: https://github.com/ente-io/ente/blob/main/web/apps/photos/.env + # See: https://github.com/ente/ente/blob/main/web/apps/photos/.env env = extraBuildEnv; postPatch = @@ -163,7 +163,7 @@ stdenv.mkDerivation (finalAttrs: { meta = { description = "Ente application web frontends"; homepage = "https://ente.io/"; - changelog = "https://github.com/ente-io/ente/releases"; + changelog = "https://github.com/ente/ente/releases"; license = lib.licenses.agpl3Only; maintainers = with lib.maintainers; [ pinpox diff --git a/pkgs/by-name/en/entire/package.nix b/pkgs/by-name/en/entire/package.nix index 7b2ca61663b9..8ce5c4ec6804 100644 --- a/pkgs/by-name/en/entire/package.nix +++ b/pkgs/by-name/en/entire/package.nix @@ -11,16 +11,16 @@ buildGoModule (finalAttrs: { pname = "entire"; - version = "0.6.3"; + version = "0.7.8"; src = fetchFromGitHub { owner = "entireio"; repo = "cli"; tag = "v${finalAttrs.version}"; - hash = "sha256-yGutKLwdTuGamZMdkqHlhBypZFuY9jM0w/1VW6ACppg="; + hash = "sha256-SqJnrvRwjuPMCEkd4d+ULIUOfDW6mPs6VeW84Tc5vN0="; }; - vendorHash = "sha256-pIIrrbp3x15iiY3CuA+wU7315bHUSjvJWBa4Q58OorU="; + vendorHash = "sha256-foQkuVJtyWJrGSPV8kxMcAWdjCw4TOgMV/KUa92FL/Y="; subPackages = [ "cmd/entire" ]; diff --git a/pkgs/by-name/en/envio/package.nix b/pkgs/by-name/en/envio/package.nix index 9cf6e4411cf4..7a4646125004 100644 --- a/pkgs/by-name/en/envio/package.nix +++ b/pkgs/by-name/en/envio/package.nix @@ -13,16 +13,16 @@ rustPlatform.buildRustPackage (finalAttrs: { pname = "envio"; - version = "0.7.0"; + version = "0.8.0"; src = fetchFromGitHub { owner = "humblepenguinn"; repo = "envio"; rev = "v${finalAttrs.version}"; - hash = "sha256-uiuJ3yFuU5S0e6SrD1C4tU5Ve/VBoGmyclbokESDZAw="; + hash = "sha256-3bcIGQ+4abdG7Xw4Sta+I8a1XllO8h7V09egwuogcxk="; }; - cargoHash = "sha256-eECjTnqjy38jA5kHddPaBZaZ/1ErHB7uQPbZYNFBcSU="; + cargoHash = "sha256-QwuGpIhPS0p+TsbWdGknXcN655IP/AzE44a6m9HY8K0="; nativeBuildInputs = [ pkg-config diff --git a/pkgs/by-name/es/esshader/package.nix b/pkgs/by-name/es/esshader/package.nix index 731a0889482f..e155aa590528 100644 --- a/pkgs/by-name/es/esshader/package.nix +++ b/pkgs/by-name/es/esshader/package.nix @@ -13,7 +13,7 @@ stdenv.mkDerivation { version = "0-unstable-2020-08-09"; src = fetchFromGitHub { - owner = "cmcsun"; + owner = "chrismcfee"; repo = "esshader"; rev = "506eb02f3de52d3d1f4d81ac9ee145655216dee5"; sha256 = "sha256-euxJw7CqOwi6Ndzalps37kDr5oOIL3tZICCfmxsujfk="; @@ -40,7 +40,7 @@ stdenv.mkDerivation { meta = { description = "Offline ShaderToy-compatible GLSL shader viewer using OpenGL ES 2.0"; - homepage = "https://github.com/cmcsun/esshader"; + homepage = "https://github.com/chrismcfee/esshader"; license = lib.licenses.mit; maintainers = with lib.maintainers; [ astro ]; platforms = lib.platforms.unix; diff --git a/pkgs/by-name/et/etherpad-lite/package.nix b/pkgs/by-name/et/etherpad-lite/package.nix index b6736566c593..c11097e00aab 100644 --- a/pkgs/by-name/et/etherpad-lite/package.nix +++ b/pkgs/by-name/et/etherpad-lite/package.nix @@ -16,7 +16,7 @@ stdenv.mkDerivation (finalAttrs: { src = fetchFromGitHub { owner = "ether"; - repo = "etherpad-lite"; + repo = "etherpad"; tag = "v${finalAttrs.version}"; hash = "sha256-8DCgbfp3ttpMTXS9SNkN1R63LZHaklsNHViRhmWVFuk="; }; @@ -86,7 +86,7 @@ stdenv.mkDerivation (finalAttrs: { It provides full data export capabilities, and runs on your server, under your control. ''; homepage = "https://etherpad.org/"; - changelog = "https://github.com/ether/etherpad-lite/blob/${finalAttrs.src.rev}/CHANGELOG.md"; + changelog = "https://github.com/ether/etherpad/blob/${finalAttrs.src.rev}/CHANGELOG.md"; maintainers = with lib.maintainers; [ erdnaxe f2k1de diff --git a/pkgs/by-name/ev/evcxr/package.nix b/pkgs/by-name/ev/evcxr/package.nix index 7df91febe656..2c78a9670cbc 100644 --- a/pkgs/by-name/ev/evcxr/package.nix +++ b/pkgs/by-name/ev/evcxr/package.nix @@ -22,7 +22,7 @@ rustPlatform.buildRustPackage (finalAttrs: { version = "0.21.1"; src = fetchFromGitHub { - owner = "google"; + owner = "evcxr"; repo = "evcxr"; rev = "v${finalAttrs.version}"; sha256 = "sha256-8dV+NNtU4HFerrgRyc1kO+MSsMTJJItTtJylEIN014g="; @@ -91,7 +91,7 @@ rustPlatform.buildRustPackage (finalAttrs: { meta = { description = "Evaluation context for Rust"; - homepage = "https://github.com/google/evcxr"; + homepage = "https://github.com/evcxr/evcxr"; license = lib.licenses.asl20; maintainers = with lib.maintainers; [ protoben diff --git a/pkgs/by-name/ev/eventstore/package.nix b/pkgs/by-name/ev/eventstore/package.nix index 51452be3c28b..156cc0d5983d 100644 --- a/pkgs/by-name/ev/eventstore/package.nix +++ b/pkgs/by-name/ev/eventstore/package.nix @@ -19,8 +19,8 @@ buildDotnetModule rec { version = "24.10.6"; src = fetchFromGitHub { - owner = "EventStore"; - repo = "EventStore"; + owner = "kurrent-io"; + repo = "KurrentDB"; tag = "v${version}"; hash = "sha256-8/sagvMyJ1/onGMuJ28QLWI5M8dBDWyGOcZKUv3PJsQ="; leaveDotGit = true; diff --git a/pkgs/by-name/ex/expected-lite/package.nix b/pkgs/by-name/ex/expected-lite/package.nix index e0a3828f6a0e..75c6d2e63e55 100644 --- a/pkgs/by-name/ex/expected-lite/package.nix +++ b/pkgs/by-name/ex/expected-lite/package.nix @@ -11,7 +11,7 @@ stdenv.mkDerivation (finalAttrs: { version = "0.10.0"; src = fetchFromGitHub { - owner = "martinmoene"; + owner = "nonstd-lite"; repo = "expected-lite"; rev = "v${finalAttrs.version}"; hash = "sha256-nxwdymBNbd+RuL8rKi2Fx2gC68TnJe7WnoN0O01lecQ="; @@ -28,8 +28,8 @@ stdenv.mkDerivation (finalAttrs: { description = '' Expected objects in C++11 and later in a single-file header-only library ''; - homepage = "https://github.com/martinmoene/expected-lite"; - changelog = "https://github.com/martinmoene/expected-lite/blob/${finalAttrs.src.rev}/CHANGES.txt"; + homepage = "https://github.com/nonstd-lite/expected-lite"; + changelog = "https://github.com/nonstd-lite/expected-lite/blob/${finalAttrs.src.rev}/CHANGES.txt"; license = lib.licenses.boost; maintainers = with lib.maintainers; [ azahi ]; }; diff --git a/pkgs/by-name/ex/extism-js-core/package.nix b/pkgs/by-name/ex/extism-js-core/package.nix index f3942d3a1e6d..6b6963677b9e 100644 --- a/pkgs/by-name/ex/extism-js-core/package.nix +++ b/pkgs/by-name/ex/extism-js-core/package.nix @@ -79,6 +79,9 @@ rustPlatform.buildRustPackage (finalAttrs: { __structuredAttrs = true; meta = { + # Fails to build on darwin due to libiconv linking failure (ld: library not found for -liconv) + # See https://github.com/NixOS/nixpkgs/pull/523442 for a (failed) attempt at fixing the issue + broken = stdenv.buildPlatform.isDarwin; changelog = "https://github.com/extism/js-pdk/releases/tag/${finalAttrs.src.tag}"; description = "Write Extism plugins in JavaScript & TypeScript (WASM core)"; homepage = "https://github.com/extism/js-pdk"; diff --git a/pkgs/by-name/fa/faba-icon-theme/package.nix b/pkgs/by-name/fa/faba-icon-theme/package.nix index 5029b4ed65c1..5e0091e8c078 100644 --- a/pkgs/by-name/fa/faba-icon-theme/package.nix +++ b/pkgs/by-name/fa/faba-icon-theme/package.nix @@ -16,7 +16,7 @@ stdenvNoCC.mkDerivation rec { version = "4.3"; src = fetchFromGitHub { - owner = "moka-project"; + owner = "snwh"; repo = "faba-icon-theme"; rev = "v${version}"; sha256 = "0xh6ppr73p76z60ym49b4d0liwdc96w41cc5p07d48hxjsa6qd6n"; diff --git a/pkgs/by-name/fc/fcitx5-tokyonight/package.nix b/pkgs/by-name/fc/fcitx5-tokyonight/package.nix index ad36f5b5146b..3f6d551a58da 100644 --- a/pkgs/by-name/fc/fcitx5-tokyonight/package.nix +++ b/pkgs/by-name/fc/fcitx5-tokyonight/package.nix @@ -9,7 +9,7 @@ stdenvNoCC.mkDerivation { version = "0-unstable-2024-01-28"; src = fetchFromGitHub { - owner = "ch3n9w"; + owner = "ch4xer"; repo = "fcitx5-Tokyonight"; rev = "f7454ab387d6b071ee12ff7ee819f0c7030fdf2c"; hash = "sha256-swOy0kDZUdqtC2sPSZEBLnHSs8dpQ/QfFMObI6BARfo="; @@ -36,7 +36,7 @@ stdenvNoCC.mkDerivation { meta = { description = "Fcitx5 theme based on Tokyo Night color"; - homepage = "https://github.com/ch3n9w/fcitx5-Tokyonight"; + homepage = "https://github.com/ch4xer/fcitx5-Tokyonight"; license = lib.licenses.gpl3Only; maintainers = with lib.maintainers; [ Guanran928 ]; platforms = lib.platforms.all; diff --git a/pkgs/by-name/fc/fcppt/package.nix b/pkgs/by-name/fc/fcppt/package.nix index df48ce23a374..4d94ebee34b1 100644 --- a/pkgs/by-name/fc/fcppt/package.nix +++ b/pkgs/by-name/fc/fcppt/package.nix @@ -11,7 +11,7 @@ stdenv.mkDerivation (finalAttrs: { version = "5.0.0"; src = fetchFromGitHub { - owner = "freundlich"; + owner = "cpreh"; repo = "fcppt"; rev = finalAttrs.version; hash = "sha256-8dBG6LdSngsutBboqb3WVVg3ylayoUYDOJV6p/ZFkoE="; diff --git a/pkgs/by-name/fe/feather-tk/package.nix b/pkgs/by-name/fe/feather-tk/package.nix index 01e3d32a0085..e91d5a8c87e6 100644 --- a/pkgs/by-name/fe/feather-tk/package.nix +++ b/pkgs/by-name/fe/feather-tk/package.nix @@ -29,7 +29,7 @@ stdenv.mkDerivation (finalAttrs: { version = "0.4.0"; src = fetchFromGitHub { - owner = "darbyjohnston"; + owner = "grizzlypeak3d"; repo = "feather-tk"; tag = finalAttrs.version; hash = "sha256-hcV99y14o3YFUtKDLEKaR7MxBB3pBdd3sferrYvtvYw="; @@ -90,12 +90,12 @@ stdenv.mkDerivation (finalAttrs: { meta = { description = "Lightweight toolkit for building cross-platform applications"; - homepage = "https://github.com/darbyjohnston/feather-tk"; + homepage = "https://github.com/grizzlypeak3d/feather-tk"; license = lib.licenses.bsd3; maintainers = with lib.maintainers; [ liberodark ]; platforms = lib.platforms.linux ++ lib.platforms.darwin; badPlatforms = [ - # Broken on darwin with latest SDK, see https://github.com/darbyjohnston/feather-tk/issues/1 + # Broken on darwin with latest SDK, see https://github.com/grizzlypeak3d/feather-tk/issues/1 lib.systems.inspect.patterns.isDarwin ]; }; diff --git a/pkgs/by-name/fe/ferrishot/package.nix b/pkgs/by-name/fe/ferrishot/package.nix index 11aba642b5d7..24e2f8156e6e 100644 --- a/pkgs/by-name/fe/ferrishot/package.nix +++ b/pkgs/by-name/fe/ferrishot/package.nix @@ -19,7 +19,7 @@ rustPlatform.buildRustPackage (finalAttrs: { src = fetchFromGitHub { owner = "nik-rev"; - repo = "ferrishot"; + repo = "peashot"; tag = "v${finalAttrs.version}"; hash = "sha256-QnIHLkxqL/4s6jgIbGmzR5tqCjH7yJcfpx0AhdxqVKc="; }; @@ -60,8 +60,8 @@ rustPlatform.buildRustPackage (finalAttrs: { meta = { description = "Screenshot app written in Rust"; - homepage = "https://github.com/nik-rev/ferrishot"; - changelog = "https://github.com/nik-rev/ferrishot/blob/v${finalAttrs.version}/CHANGELOG.md"; + homepage = "https://github.com/nik-rev/peashot"; + changelog = "https://github.com/nik-rev/peashot/blob/v${finalAttrs.version}/CHANGELOG.md"; license = lib.licenses.mit; maintainers = with lib.maintainers; [ GaetanLepage ]; mainProgram = "ferrishot"; diff --git a/pkgs/by-name/fe/fet-sh/package.nix b/pkgs/by-name/fe/fet-sh/package.nix index b25c819b79f2..91c7dcd1e1e9 100644 --- a/pkgs/by-name/fe/fet-sh/package.nix +++ b/pkgs/by-name/fe/fet-sh/package.nix @@ -9,7 +9,7 @@ stdenvNoCC.mkDerivation rec { version = "1.9"; src = fetchFromGitHub { - owner = "6gk"; + owner = "eepykate"; repo = "fet.sh"; rev = "v${version}"; sha256 = "sha256-xhX2nVteC3T3IjQh++mYlm0btDJQbyQa6b8sGualV0E="; @@ -25,7 +25,7 @@ stdenvNoCC.mkDerivation rec { meta = { description = "Fetch written in posix shell without any external commands"; - homepage = "https://github.com/6gk/fet.sh"; + homepage = "https://github.com/eepykate/fet.sh"; license = lib.licenses.isc; platforms = lib.platforms.all; maintainers = with lib.maintainers; [ elkowar ]; diff --git a/pkgs/by-name/fi/findomain/package.nix b/pkgs/by-name/fi/findomain/package.nix index 110e2654f010..4487624ec997 100644 --- a/pkgs/by-name/fi/findomain/package.nix +++ b/pkgs/by-name/fi/findomain/package.nix @@ -1,16 +1,20 @@ { lib, - rustPlatform, fetchFromGitHub, installShellFiles, - pkg-config, + nix-update-script, openssl, + pkg-config, + rustPlatform, + versionCheckHook, }: rustPlatform.buildRustPackage (finalAttrs: { pname = "findomain"; version = "10.0.1"; + __structuredAttrs = true; + src = fetchFromGitHub { owner = "findomain"; repo = "findomain"; @@ -25,9 +29,9 @@ rustPlatform.buildRustPackage (finalAttrs: { pkg-config ]; - buildInputs = [ - openssl - ]; + buildInputs = [ openssl ]; + + nativeInstallCheckInputs = [ versionCheckHook ]; env = { OPENSSL_NO_VENDOR = true; @@ -37,12 +41,16 @@ rustPlatform.buildRustPackage (finalAttrs: { installManPage findomain.1 ''; + doInstallCheck = true; + + passthru.updateScript = nix-update-script { }; + meta = { description = "Fastest and cross-platform subdomain enumerator"; homepage = "https://github.com/Findomain/Findomain"; - changelog = "https://github.com/Findomain/Findomain/releases/tag/${finalAttrs.version}"; + changelog = "https://github.com/Findomain/Findomain/releases/tag/${finalAttrs.src.tag}"; license = lib.licenses.gpl3Plus; - maintainers = [ ]; + maintainers = with lib.maintainers; [ fab ]; mainProgram = "findomain"; }; }) diff --git a/pkgs/by-name/fi/findup/package.nix b/pkgs/by-name/fi/findup/package.nix index 0f5fd7506215..b158d8385d74 100644 --- a/pkgs/by-name/fi/findup/package.nix +++ b/pkgs/by-name/fi/findup/package.nix @@ -13,7 +13,7 @@ stdenv.mkDerivation (finalAttrs: { version = "2.0.0"; src = fetchFromGitHub { - owner = "booniepepper"; + owner = "so-dang-cool"; repo = "findup"; tag = "v${finalAttrs.version}"; hash = "sha256-6/rQ4xNfzJQwJgrpvFRuirqlx6fVn7sLXfVRFsG3fUw="; @@ -24,7 +24,7 @@ stdenv.mkDerivation (finalAttrs: { passthru.tests.version = testers.testVersion { package = finalAttrs.finalPackage; }; meta = { - homepage = "https://github.com/booniepepper/findup"; + homepage = "https://github.com/so-dang-cool/findup"; description = "Search parent directories for sentinel files"; license = lib.licenses.mit; maintainers = with lib.maintainers; [ booniepepper ]; diff --git a/pkgs/by-name/fl/flintlock/package.nix b/pkgs/by-name/fl/flintlock/package.nix index da890d978f6d..a7ec82cf2afb 100644 --- a/pkgs/by-name/fl/flintlock/package.nix +++ b/pkgs/by-name/fl/flintlock/package.nix @@ -14,7 +14,7 @@ buildGoModule (finalAttrs: { version = "0.8.1"; src = fetchFromGitHub { - owner = "weaveworks"; + owner = "liquidmetal-dev"; repo = "flintlock"; rev = "v${finalAttrs.version}"; sha256 = "sha256-Kbk94sqj0aPsVonPsiu8kbjhIOURB1kX9Lt3NURL+jk="; diff --git a/pkgs/by-name/fl/fluxcd-operator-mcp/package.nix b/pkgs/by-name/fl/fluxcd-operator-mcp/package.nix index 09e787515f45..d47e5dfc5548 100644 --- a/pkgs/by-name/fl/fluxcd-operator-mcp/package.nix +++ b/pkgs/by-name/fl/fluxcd-operator-mcp/package.nix @@ -13,7 +13,7 @@ buildGoModule (finalAttrs: { src = fetchFromGitHub { owner = "controlplaneio-fluxcd"; - repo = "fluxcd-operator"; + repo = "flux-operator"; tag = "v${finalAttrs.version}"; hash = "sha256-l+IJtFmVR3WZaFW4aaYjirTqj+X1FGLAVgbA21MHO1k="; }; diff --git a/pkgs/by-name/fl/fluxcd-operator/package.nix b/pkgs/by-name/fl/fluxcd-operator/package.nix index 6e6cf8bcd6b3..532f254a30be 100644 --- a/pkgs/by-name/fl/fluxcd-operator/package.nix +++ b/pkgs/by-name/fl/fluxcd-operator/package.nix @@ -13,7 +13,7 @@ buildGoModule (finalAttrs: { src = fetchFromGitHub { owner = "controlplaneio-fluxcd"; - repo = "fluxcd-operator"; + repo = "flux-operator"; tag = "v${finalAttrs.version}"; hash = "sha256-l+IJtFmVR3WZaFW4aaYjirTqj+X1FGLAVgbA21MHO1k="; }; diff --git a/pkgs/by-name/fl/fluxcd/package.nix b/pkgs/by-name/fl/fluxcd/package.nix index 91a5b01408c4..ef40332a541c 100644 --- a/pkgs/by-name/fl/fluxcd/package.nix +++ b/pkgs/by-name/fl/fluxcd/package.nix @@ -9,10 +9,10 @@ }: let - version = "2.8.8"; - srcHash = "sha256-ECFEzYhnhse2yrfWYaeN5dE+HUvCy5RKZ2OceCb5+sA="; - vendorHash = "sha256-pV7eoiGhWk6KYZbK8bamXJY/NdK7ZYqrVcCTX9ccLJc="; - manifestsHash = "sha256-fF21nDstKUrlW6fgm0DrDtntR/0cnHMEzRltjBm9nwA="; + version = "2.9.0"; + srcHash = "sha256-zMlaBIxhmKFeBFhCC3M1wc9sKjSjUzpNLti53ow5SgU="; + vendorHash = "sha256-J1MofT7PwcQ74XwVumu7PfkAteKR6iJIZe+vMoaD+Eg="; + manifestsHash = "sha256-PAbQa76mwu6BNR7AX88IhQM9Veg01va4THJ/6B6pu9A="; manifests = fetchzip { url = "https://github.com/fluxcd/flux2/releases/download/v${version}/manifests.tar.gz"; diff --git a/pkgs/by-name/fl/flye/package.nix b/pkgs/by-name/fl/flye/package.nix index 6e1800ff3110..a105dd4e871a 100644 --- a/pkgs/by-name/fl/flye/package.nix +++ b/pkgs/by-name/fl/flye/package.nix @@ -17,7 +17,7 @@ python3Packages.buildPythonApplication (finalAttrs: { pyproject = true; src = fetchFromGitHub { - owner = "fenderglass"; + owner = "mikolmogorov"; repo = "flye"; tag = finalAttrs.version; hash = "sha256-ZdrAxPKY3+HJ388tGCdpDcvW70mJ5wd4uOUkuufyqK8="; diff --git a/pkgs/by-name/fo/fooyin/package.nix b/pkgs/by-name/fo/fooyin/package.nix index cdaf7c3925bd..282241d50064 100644 --- a/pkgs/by-name/fo/fooyin/package.nix +++ b/pkgs/by-name/fo/fooyin/package.nix @@ -26,7 +26,7 @@ stdenv.mkDerivation (finalAttrs: { version = "0.9.2"; src = fetchFromGitHub { - owner = "ludouzi"; + owner = "fooyin"; repo = "fooyin"; tag = "v" + finalAttrs.version; hash = "sha256-sQ1zsQ/6OHGPkofiKhusCrpW2XnO+PpMvH1M2OG5Huw="; diff --git a/pkgs/by-name/fo/foxmarks/package.nix b/pkgs/by-name/fo/foxmarks/package.nix index 75d8a217ef15..83bdf1a6a8f8 100644 --- a/pkgs/by-name/fo/foxmarks/package.nix +++ b/pkgs/by-name/fo/foxmarks/package.nix @@ -10,7 +10,7 @@ rustPlatform.buildRustPackage (finalAttrs: { version = "2.1.1"; src = fetchFromGitHub { - owner = "zer0-x"; + owner = "zefr0x"; repo = "foxmarks"; rev = "v${finalAttrs.version}"; hash = "sha256-6lJ9acVo444RMxc3wUakBz4zT74oNUpwoP69rdf2mmE="; @@ -22,8 +22,8 @@ rustPlatform.buildRustPackage (finalAttrs: { meta = { description = "CLI read-only interface for Mozilla Firefox's bookmarks"; - homepage = "https://github.com/zer0-x/foxmarks"; - changelog = "https://github.com/zer0-x/foxmarks/blob/v${finalAttrs.version}/CHANGELOG.md"; + homepage = "https://github.com/zefr0x/foxmarks"; + changelog = "https://github.com/zefr0x/foxmarks/blob/v${finalAttrs.version}/CHANGELOG.md"; license = lib.licenses.gpl3; maintainers = with lib.maintainers; [ loicreynier ]; }; diff --git a/pkgs/by-name/fp/fprettify/package.nix b/pkgs/by-name/fp/fprettify/package.nix index 71bae9aa8d1f..7eceee491925 100644 --- a/pkgs/by-name/fp/fprettify/package.nix +++ b/pkgs/by-name/fp/fprettify/package.nix @@ -10,7 +10,7 @@ python3Packages.buildPythonApplication (finalAttrs: { pyproject = true; src = fetchFromGitHub { - owner = "pseewald"; + owner = "fortran-lang"; repo = "fprettify"; rev = "v${finalAttrs.version}"; sha256 = "17v52rylmsy3m3j5fcb972flazykz2rvczqfh8mxvikvd6454zyj"; diff --git a/pkgs/by-name/fr/freebayes/package.nix b/pkgs/by-name/fr/freebayes/package.nix index dfcad223285a..0e1c820f06dd 100644 --- a/pkgs/by-name/fr/freebayes/package.nix +++ b/pkgs/by-name/fr/freebayes/package.nix @@ -13,7 +13,7 @@ stdenv.mkDerivation (finalAttrs: { src = fetchFromGitHub { name = "freebayes-${finalAttrs.version}-src"; - owner = "ekg"; + owner = "freebayes"; repo = "freebayes"; tag = "v${finalAttrs.version}"; sha256 = "035nriknjqq8gvil81vvsmvqwi35v80q8h1cw24vd1gdyn1x7bys"; @@ -39,7 +39,7 @@ stdenv.mkDerivation (finalAttrs: { meta = { description = "Bayesian haplotype-based polymorphism discovery and genotyping"; license = lib.licenses.mit; - homepage = "https://github.com/ekg/freebayes"; + homepage = "https://github.com/freebayes/freebayes"; maintainers = with lib.maintainers; [ jdagilliland ]; platforms = [ "x86_64-linux" ]; }; diff --git a/pkgs/by-name/fr/freeradius/package.nix b/pkgs/by-name/fr/freeradius/package.nix index 7f0036dc66a5..3aa2e394b9f5 100644 --- a/pkgs/by-name/fr/freeradius/package.nix +++ b/pkgs/by-name/fr/freeradius/package.nix @@ -38,13 +38,13 @@ assert withRest -> withJson; stdenv.mkDerivation rec { pname = "freeradius"; - version = "3.2.8"; + version = "3.2.10"; src = fetchFromGitHub { owner = "FreeRADIUS"; repo = "freeradius-server"; tag = "release_${lib.replaceStrings [ "." ] [ "_" ] version}"; - hash = "sha256-NvcXTT0jp3WR/w+JWcNESg6iNYqIV8QAlM8MxpYkpjs="; + hash = "sha256-+pFV6dDnL7T5G309cLACa+/0vGppCEdk3ghOQhgSjTs="; }; nativeBuildInputs = [ autoreconfHook ]; diff --git a/pkgs/by-name/fr/frescobaldi/package.nix b/pkgs/by-name/fr/frescobaldi/package.nix index e0c0cbaa91b9..b3a673bd85c8 100644 --- a/pkgs/by-name/fr/frescobaldi/package.nix +++ b/pkgs/by-name/fr/frescobaldi/package.nix @@ -13,7 +13,7 @@ python3Packages.buildPythonApplication rec { pyproject = true; src = fetchFromGitHub { - owner = "wbsoft"; + owner = "frescobaldi"; repo = "frescobaldi"; tag = "v${version}"; hash = "sha256-IgvjKj0+8oNbuZ91n4O16kGXBS7rS63HQUNQnJcOis8="; diff --git a/pkgs/by-name/fs/fsql/package.nix b/pkgs/by-name/fs/fsql/package.nix index bceca65e53f6..552bc13ea5d2 100644 --- a/pkgs/by-name/fs/fsql/package.nix +++ b/pkgs/by-name/fs/fsql/package.nix @@ -9,7 +9,7 @@ buildGoModule (finalAttrs: { version = "0.5.2"; src = fetchFromGitHub { - owner = "kshvmdn"; + owner = "kashav"; repo = "fsql"; rev = "v${finalAttrs.version}"; sha256 = "sha256-U6TPszqsZvoz+9GIB0wNYMRJqIDLOp/BZO3/k8FC0Gs="; @@ -24,7 +24,7 @@ buildGoModule (finalAttrs: { meta = { description = "Search through your filesystem with SQL-esque queries"; - homepage = "https://github.com/kshvmdn/fsql"; + homepage = "https://github.com/kashav/fsql"; license = lib.licenses.mit; maintainers = with lib.maintainers; [ pSub ]; mainProgram = "fsql"; diff --git a/pkgs/by-name/fs/fsrx/package.nix b/pkgs/by-name/fs/fsrx/package.nix index ea6cf0f2a74f..840774ed52fd 100644 --- a/pkgs/by-name/fs/fsrx/package.nix +++ b/pkgs/by-name/fs/fsrx/package.nix @@ -11,7 +11,7 @@ rustPlatform.buildRustPackage (finalAttrs: { version = "1.0.2"; src = fetchFromGitHub { - owner = "thatvegandev"; + owner = "jrnxf"; repo = "fsrx"; rev = "v${finalAttrs.version}"; sha256 = "sha256-hzfpjunP20WCt3erYu7AO7A3nz+UMKdFzWUA5jASbVA="; @@ -27,7 +27,7 @@ rustPlatform.buildRustPackage (finalAttrs: { meta = { description = "Flow state reader in the terminal"; - homepage = "https://github.com/thatvegandev/fsrx"; + homepage = "https://github.com/jrnxf/fsrx"; license = lib.licenses.mit; maintainers = with lib.maintainers; [ MoritzBoehme ]; mainProgram = "fsrx"; diff --git a/pkgs/by-name/fw/fwup/package.nix b/pkgs/by-name/fw/fwup/package.nix index 40207fd2677c..3ecaa0d8bf8e 100644 --- a/pkgs/by-name/fw/fwup/package.nix +++ b/pkgs/by-name/fw/fwup/package.nix @@ -24,7 +24,7 @@ stdenv.mkDerivation (finalAttrs: { version = "1.15.1"; src = fetchFromGitHub { - owner = "fhunleth"; + owner = "fwup-home"; repo = "fwup"; tag = "v${finalAttrs.version}"; hash = "sha256-SIRDVlC/g+rq5m4Ind7dqPzjdCjAxRK/kAdXt6byL/8="; @@ -64,7 +64,7 @@ stdenv.mkDerivation (finalAttrs: { meta = { changelog = "https://github.com/fwup-home/fwup/blob/${finalAttrs.src.tag}/CHANGELOG.md"; description = "Configurable embedded Linux firmware update creator and runner"; - homepage = "https://github.com/fhunleth/fwup"; + homepage = "https://github.com/fwup-home/fwup"; license = lib.licenses.asl20; maintainers = [ lib.maintainers.georgewhewell ]; platforms = lib.platforms.all; diff --git a/pkgs/by-name/ga/galaxy-buds-client/package.nix b/pkgs/by-name/ga/galaxy-buds-client/package.nix index 666d47379a26..b1c06c92cd30 100644 --- a/pkgs/by-name/ga/galaxy-buds-client/package.nix +++ b/pkgs/by-name/ga/galaxy-buds-client/package.nix @@ -22,7 +22,7 @@ buildDotnetModule rec { version = "5.2.1"; src = fetchFromGitHub { - owner = "ThePBone"; + owner = "timschneeb"; repo = "GalaxyBudsClient"; tag = version; hash = "sha256-jPVrSkf6Bybwc5glkxId5VeWkwLBoTjOzM3CCgO6h9I="; @@ -85,7 +85,7 @@ buildDotnetModule rec { meta = { description = "Unofficial Galaxy Buds Manager"; - homepage = "https://github.com/ThePBone/GalaxyBudsClient"; + homepage = "https://github.com/timschneeb/GalaxyBudsClient"; license = lib.licenses.gpl3Only; maintainers = with lib.maintainers; [ icy-thought ]; platforms = lib.platforms.linux; diff --git a/pkgs/by-name/ge/gemget/package.nix b/pkgs/by-name/ge/gemget/package.nix index 18ac03146fed..871f88e5cc1e 100644 --- a/pkgs/by-name/ge/gemget/package.nix +++ b/pkgs/by-name/ge/gemget/package.nix @@ -9,7 +9,7 @@ buildGoModule (finalAttrs: { version = "1.9.0"; src = fetchFromGitHub { - owner = "makeworld-the-better-one"; + owner = "makew0rld"; repo = "gemget"; rev = "v${finalAttrs.version}"; sha256 = "sha256-P5+yRaf2HioKOclJMMm8bJ8/BtBbNEeYU57TceZVqQ8="; @@ -19,7 +19,7 @@ buildGoModule (finalAttrs: { meta = { description = "Command line downloader for the Gemini protocol"; - homepage = "https://github.com/makeworld-the-better-one/gemget"; + homepage = "https://github.com/makew0rld/gemget"; license = lib.licenses.mit; maintainers = with lib.maintainers; [ amfl ]; mainProgram = "gemget"; diff --git a/pkgs/by-name/gh/gh/package.nix b/pkgs/by-name/gh/gh/package.nix index d1acb9b209b7..6e4bbbbc4380 100644 --- a/pkgs/by-name/gh/gh/package.nix +++ b/pkgs/by-name/gh/gh/package.nix @@ -10,7 +10,7 @@ buildGoModule (finalAttrs: { pname = "gh"; - version = "2.95.0"; + version = "2.96.0"; __structuredAttrs = true; @@ -18,10 +18,10 @@ buildGoModule (finalAttrs: { owner = "cli"; repo = "cli"; tag = "v${finalAttrs.version}"; - hash = "sha256-Hzdod8dJuwFv3mNa4Nflqf8uy45RpoeO93sFSMq3D5E="; + hash = "sha256-+Roh0eR3Cm+ktLRHwWkvTiEvMGxsj7ngODJnjajL2x4="; }; - vendorHash = "sha256-tqbo791t7phe6ip5UzBiLer0rGcKqpKGF0bqwxr3j78="; + vendorHash = "sha256-pQNepOGVEHF8rwdgnaUCnFe/mzDxabYqhouN2V0WkOo="; nativeBuildInputs = [ installShellFiles diff --git a/pkgs/by-name/gi/git-annex-remote-rclone/package.nix b/pkgs/by-name/gi/git-annex-remote-rclone/package.nix index fb9c6fcebb7d..a6f8b99fd3c9 100644 --- a/pkgs/by-name/gi/git-annex-remote-rclone/package.nix +++ b/pkgs/by-name/gi/git-annex-remote-rclone/package.nix @@ -11,7 +11,7 @@ stdenvNoCC.mkDerivation rec { version = "0.8"; src = fetchFromGitHub { - owner = "DanielDent"; + owner = "git-annex-remote-rclone"; repo = "git-annex-remote-rclone"; rev = "v${version}"; sha256 = "sha256-B6x67XXE4BHd3x7a8pQlqPPmpy0c62ziDAldB4QpqQ4="; @@ -26,7 +26,7 @@ stdenvNoCC.mkDerivation rec { ''; meta = { - homepage = "https://github.com/DanielDent/git-annex-remote-rclone"; + homepage = "https://github.com/git-annex-remote-rclone/git-annex-remote-rclone"; description = "Use rclone supported cloud storage providers with git-annex"; license = lib.licenses.gpl3Only; platforms = lib.platforms.all; diff --git a/pkgs/by-name/gi/git-bug-migration/package.nix b/pkgs/by-name/gi/git-bug-migration/package.nix index 62d838767ffc..2825f58d1e62 100644 --- a/pkgs/by-name/gi/git-bug-migration/package.nix +++ b/pkgs/by-name/gi/git-bug-migration/package.nix @@ -9,7 +9,7 @@ buildGoModule (finalAttrs: { version = "0.3.4"; src = fetchFromGitHub { - owner = "MichaelMure"; + owner = "git-bug"; repo = "git-bug-migration"; rev = "v${finalAttrs.version}"; hash = "sha256-IOBgrU3C0ZHD2wx9LRVgKEJzDlUj6z2UXlHGU3tdTdQ="; @@ -32,7 +32,7 @@ buildGoModule (finalAttrs: { meta = { description = "Tool for upgrading repositories using git-bug to new versions"; - homepage = "https://github.com/MichaelMure/git-bug-migration"; + homepage = "https://github.com/git-bug/git-bug-migration"; license = lib.licenses.gpl3Plus; maintainers = with lib.maintainers; [ DeeUnderscore diff --git a/pkgs/by-name/gi/git-graph/package.nix b/pkgs/by-name/gi/git-graph/package.nix index e582b795899f..48a9acc8f009 100644 --- a/pkgs/by-name/gi/git-graph/package.nix +++ b/pkgs/by-name/gi/git-graph/package.nix @@ -10,7 +10,7 @@ rustPlatform.buildRustPackage (finalAttrs: { version = "0.7.0"; src = fetchFromGitHub { - owner = "mlange-42"; + owner = "git-bahn"; repo = "git-graph"; tag = "v${finalAttrs.version}"; hash = "sha256-9GFwxWYDnH3kKDWpxgh7ciSLB1Zr2zExxIrIrhycmZY="; @@ -20,7 +20,7 @@ rustPlatform.buildRustPackage (finalAttrs: { meta = { description = "Command line tool to show clear git graphs arranged for your branching model"; - homepage = "https://github.com/mlange-42/git-graph"; + homepage = "https://github.com/git-bahn/git-graph"; license = lib.licenses.mit; maintainers = with lib.maintainers; [ cafkafk diff --git a/pkgs/by-name/gi/git-igitt/package.nix b/pkgs/by-name/gi/git-igitt/package.nix index 1ae12698e0d0..97a9dabda083 100644 --- a/pkgs/by-name/gi/git-igitt/package.nix +++ b/pkgs/by-name/gi/git-igitt/package.nix @@ -14,7 +14,7 @@ rustPlatform.buildRustPackage (finalAttrs: { version = "0.1.21"; src = fetchFromGitHub { - owner = "mlange-42"; + owner = "git-bahn"; repo = "git-igitt"; rev = "v${finalAttrs.version}"; hash = "sha256-5AVKBew+HShWFZwm4xRmRSL76N2c84Yi97jgcqsslxM="; @@ -38,7 +38,7 @@ rustPlatform.buildRustPackage (finalAttrs: { meta = { description = "Interactive, cross-platform Git terminal application with clear git graphs arranged for your branching model"; - homepage = "https://github.com/mlange-42/git-igitt"; + homepage = "https://github.com/git-bahn/git-igitt"; license = lib.licenses.mit; sourceProvenance = [ lib.sourceTypes.fromSource ]; maintainers = [ lib.maintainers.pinage404 ]; diff --git a/pkgs/by-name/gi/git-pkgs/package.nix b/pkgs/by-name/gi/git-pkgs/package.nix index fed7f36bd933..19f7d4be6804 100644 --- a/pkgs/by-name/gi/git-pkgs/package.nix +++ b/pkgs/by-name/gi/git-pkgs/package.nix @@ -7,16 +7,16 @@ }: buildGoModule rec { pname = "git-pkgs"; - version = "0.16.2"; + version = "0.17.0"; src = fetchFromGitHub { owner = "git-pkgs"; repo = "git-pkgs"; tag = "v${version}"; - hash = "sha256-6AhA4CG4q6ujM3JSz5aUXvVG7vC5mL8DGiF4dO2kU3k="; + hash = "sha256-4Q95ONe6tcrUk7TsxR347PAFQ/HuMjcqNfCLo6oZtws="; }; - vendorHash = "sha256-uram6wb0nTxVDy8PQa3R4os620S/XuDcTZkMhwNhd3A="; + vendorHash = "sha256-YjKktBQT62htk/nqZp9quKEg4eI3vTz6AY64o9IT3/4="; subPackages = [ "." ]; diff --git a/pkgs/by-name/gi/git-quick-stats/package.nix b/pkgs/by-name/gi/git-quick-stats/package.nix index eebf32503476..2b9295f3f650 100644 --- a/pkgs/by-name/gi/git-quick-stats/package.nix +++ b/pkgs/by-name/gi/git-quick-stats/package.nix @@ -17,7 +17,7 @@ stdenv.mkDerivation (finalAttrs: { src = fetchFromGitHub { repo = "git-quick-stats"; - owner = "arzzen"; + owner = "git-quick-stats"; rev = finalAttrs.version; sha256 = "sha256-YVvlrlNRDDci7fH9LW4NxZcIkakVgvKe9FhJ2gCfoXg="; }; @@ -44,7 +44,7 @@ stdenv.mkDerivation (finalAttrs: { ''; meta = { - homepage = "https://github.com/arzzen/git-quick-stats"; + homepage = "https://github.com/git-quick-stats/git-quick-stats"; description = "Simple and efficient way to access various statistics in git repository"; platforms = lib.platforms.all; maintainers = [ lib.maintainers.kmein ]; diff --git a/pkgs/by-name/gi/git-repo/package.nix b/pkgs/by-name/gi/git-repo/package.nix index 913ebe0ba977..1229c78825b1 100644 --- a/pkgs/by-name/gi/git-repo/package.nix +++ b/pkgs/by-name/gi/git-repo/package.nix @@ -16,7 +16,7 @@ stdenv.mkDerivation (finalAttrs: { version = "2.59"; src = fetchFromGitHub { - owner = "android"; + owner = "aosp-mirror"; repo = "tools_repo"; rev = "v${finalAttrs.version}"; hash = "sha256-5ffk5B4ZA/Wy2bQNahFaXPFRSZdKz5t6TaGbN00mfxo="; diff --git a/pkgs/by-name/gi/git-spice/package.nix b/pkgs/by-name/gi/git-spice/package.nix index 55341d1894b0..fa9e5daae8a0 100644 --- a/pkgs/by-name/gi/git-spice/package.nix +++ b/pkgs/by-name/gi/git-spice/package.nix @@ -10,16 +10,16 @@ buildGoModule (finalAttrs: { pname = "git-spice"; - version = "0.29.2"; + version = "0.30.1"; src = fetchFromGitHub { owner = "abhinav"; repo = "git-spice"; tag = "v${finalAttrs.version}"; - hash = "sha256-ZwhbsSFnzKZv8iEgI9tO2tekmzT7mh7w0+PXDyucuLw="; + hash = "sha256-zqHTbsK/vIeNKfvIH8funMLD0ehercVkufIYcRZ7VD0="; }; - vendorHash = "sha256-t7nfOTHncSLounY1zR4idAmDmqj9znR2IUQA2xt0Drs="; + vendorHash = "sha256-dCAgnfnwDudTUsQE/RapWslnz/MtefdlzqneRbWrLmc="; subPackages = [ "." ]; diff --git a/pkgs/by-name/gi/gitflow/package.nix b/pkgs/by-name/gi/gitflow/package.nix index b2ebf7e011af..b409a66c666a 100644 --- a/pkgs/by-name/gi/gitflow/package.nix +++ b/pkgs/by-name/gi/gitflow/package.nix @@ -14,7 +14,7 @@ stdenv.mkDerivation (finalAttrs: { src = fetchFromGitHub { owner = "petervanderdoes"; - repo = "gitflow"; + repo = "gitflow-avh"; rev = finalAttrs.version; sha256 = "sha256-kHirHG/bfsU6tKyQ0khNSTyChhzHfzib+HyA3LOtBI8="; }; @@ -33,7 +33,7 @@ stdenv.mkDerivation (finalAttrs: { ''; meta = { - homepage = "https://github.com/petervanderdoes/gitflow"; + homepage = "https://github.com/petervanderdoes/gitflow-avh"; description = "Extend git with the Gitflow branching model"; mainProgram = "git-flow"; longDescription = '' diff --git a/pkgs/by-name/gi/gitqlient/package.nix b/pkgs/by-name/gi/gitqlient/package.nix index a787c695cb05..6a8a5bde5148 100644 --- a/pkgs/by-name/gi/gitqlient/package.nix +++ b/pkgs/by-name/gi/gitqlient/package.nix @@ -12,7 +12,7 @@ stdenv.mkDerivation (finalAttrs: { version = "1.6.3-unstable-2025-09-11"; # cmake does not install correctly on tagged release src = fetchFromGitHub { - owner = "francescmm"; + owner = "francescmaestre"; repo = "gitqlient"; rev = "faa3e2c19205123944bb88427a569c6f1b4366a1"; fetchSubmodules = true; diff --git a/pkgs/by-name/gl/glabels-qt/package.nix b/pkgs/by-name/gl/glabels-qt/package.nix index a8aeff04dea0..da8c47a5c03c 100644 --- a/pkgs/by-name/gl/glabels-qt/package.nix +++ b/pkgs/by-name/gl/glabels-qt/package.nix @@ -11,7 +11,7 @@ stdenv.mkDerivation { version = "unstable-2025-12-03"; src = fetchFromGitHub { - owner = "jimevins"; + owner = "j-evins"; repo = "glabels-qt"; tag = "3.99-master602"; hash = "sha256-7MQufoU1GBvmZd8FRn331/PwmwQMuZeuFKQqViRI754="; @@ -25,7 +25,7 @@ stdenv.mkDerivation { meta = { description = "GLabels Label Designer (Qt/C++)"; - homepage = "https://github.com/jimevins/glabels-qt"; + homepage = "https://github.com/j-evins/glabels-qt"; license = lib.licenses.gpl3Only; maintainers = [ lib.maintainers.matthewcroughan ]; platforms = lib.platforms.linux; diff --git a/pkgs/by-name/gl/glava/package.nix b/pkgs/by-name/gl/glava/package.nix index 3c3e1f120c48..2e6d9e087899 100644 --- a/pkgs/by-name/gl/glava/package.nix +++ b/pkgs/by-name/gl/glava/package.nix @@ -39,7 +39,7 @@ stdenv.mkDerivation (finalAttrs: { version = "1.6.3"; src = fetchFromGitHub { - owner = "wacossusca34"; + owner = "jarcode-foss"; repo = "glava"; rev = "v${finalAttrs.version}"; sha256 = "0kqkjxmpqkmgby05lsf6c6iwm45n33jk5qy6gi3zvjx4q4yzal1i"; @@ -96,7 +96,7 @@ stdenv.mkDerivation (finalAttrs: { OpenGL audio spectrum visualizer ''; mainProgram = "glava"; - homepage = "https://github.com/wacossusca34/glava"; + homepage = "https://github.com/jarcode-foss/glava"; platforms = lib.platforms.linux; license = lib.licenses.gpl3; maintainers = with lib.maintainers; [ diff --git a/pkgs/by-name/gm/gmap/package.nix b/pkgs/by-name/gm/gmap/package.nix index 70d096d88261..3bf9a926464a 100644 --- a/pkgs/by-name/gm/gmap/package.nix +++ b/pkgs/by-name/gm/gmap/package.nix @@ -13,7 +13,7 @@ rustPlatform.buildRustPackage (finalAttrs: { version = "0.3.3"; src = fetchFromGitHub { - owner = "seeyebe"; + owner = "marawny"; repo = "gmap"; tag = finalAttrs.version; hash = "sha256-+klVySOgI/M57f98Cx3omkEBx/NcaWD4FuIW6cz1aN8="; @@ -41,8 +41,8 @@ rustPlatform.buildRustPackage (finalAttrs: { Built for developers who live in the CLI and want quick, powerful insights. ''; - homepage = "https://github.com/seeyebe/gmap"; - changelog = "https://github.com/seeyebe/gmap/releases/tag/${finalAttrs.src.tag}"; + homepage = "https://github.com/marawny/gmap"; + changelog = "https://github.com/marawny/gmap/releases/tag/${finalAttrs.src.tag}"; license = lib.licenses.mit; maintainers = with lib.maintainers; [ yiyu ]; mainProgram = "gmap"; diff --git a/pkgs/by-name/gn/gnome-inform7/package.nix b/pkgs/by-name/gn/gnome-inform7/package.nix index 3a3aaeccc1bc..053242e88679 100644 --- a/pkgs/by-name/gn/gnome-inform7/package.nix +++ b/pkgs/by-name/gn/gnome-inform7/package.nix @@ -104,7 +104,7 @@ stdenv.mkDerivation { version = "unstable-2021-04-06"; src = fetchFromGitHub { owner = "ptomato"; - repo = "gnome-inform7"; + repo = "inform7-ide"; # build from revision in the GTK3 branch as mainline requires webkit-1.0 rev = "c37e045c159692aae2e4e79b917e5f96cfefa66a"; sha256 = "Q4xoITs3AYXhvpWaABRAvJaUWTtUl8lYQ1k9zX7FrNw="; @@ -143,7 +143,7 @@ stdenv.mkDerivation { longDescription = '' This version of Inform 7 for the Gnome platform was created by Philip Chimento, based on a design by Graham Nelson and Andrew Hunter. ''; - homepage = "https://github.com/ptomato/gnome-inform7"; + homepage = "https://github.com/ptomato/inform7-ide"; license = lib.licenses.gpl3Only; maintainers = [ lib.maintainers.fitzgibbon ]; platforms = lib.platforms.linux; diff --git a/pkgs/by-name/gn/gnome-pomodoro/package.nix b/pkgs/by-name/gn/gnome-pomodoro/package.nix index 910f4e10025b..9ecc2e4d1e63 100644 --- a/pkgs/by-name/gn/gnome-pomodoro/package.nix +++ b/pkgs/by-name/gn/gnome-pomodoro/package.nix @@ -27,8 +27,8 @@ stdenv.mkDerivation rec { version = "0.28.1"; src = fetchFromGitHub { - owner = "gnome-pomodoro"; - repo = "gnome-pomodoro"; + owner = "focustimerhq"; + repo = "FocusTimer"; rev = version; hash = "sha256-1G0Sv6uR4rE+/TZqEM57mCdBaXoJNpC0cznY4pnPEa4="; }; diff --git a/pkgs/by-name/go/go-autoconfig/package.nix b/pkgs/by-name/go/go-autoconfig/package.nix index 7bc04faedf45..4805c6addbd4 100644 --- a/pkgs/by-name/go/go-autoconfig/package.nix +++ b/pkgs/by-name/go/go-autoconfig/package.nix @@ -9,7 +9,7 @@ buildGoModule { version = "unstable-2022-08-03"; src = fetchFromGitHub { - owner = "L11R"; + owner = "savely-krasovsky"; repo = "go-autoconfig"; rev = "b1b182202da82cc881dccd715564853395d4f76a"; sha256 = "sha256-Rbg6Ghp5NdcLSLSIhwwFFMKmZPWsboDyHCG6ePqSSZA="; @@ -23,7 +23,7 @@ buildGoModule { meta = { description = "IMAP/SMTP autodiscover feature for Thunderbird, Apple Mail and Microsoft Outlook"; - homepage = "https://github.com/L11R/go-autoconfig"; + homepage = "https://github.com/savely-krasovsky/go-autoconfig"; license = lib.licenses.mit; maintainers = with lib.maintainers; [ onny ]; mainProgram = "go-autoconfig"; diff --git a/pkgs/by-name/go/go-dnscollector/package.nix b/pkgs/by-name/go/go-dnscollector/package.nix index c44b26210ccc..15376daf0f01 100644 --- a/pkgs/by-name/go/go-dnscollector/package.nix +++ b/pkgs/by-name/go/go-dnscollector/package.nix @@ -10,7 +10,7 @@ buildGoModule (finalAttrs: { src = fetchFromGitHub { owner = "dmachard"; - repo = "go-dnscollector"; + repo = "DNS-collector"; tag = "v${finalAttrs.version}"; hash = "sha256-Gm5PXEEgw98NnsfKN8JxhyTqEL9KSA6L2CgRTRJirdY="; }; @@ -21,7 +21,7 @@ buildGoModule (finalAttrs: { meta = { description = "Ingesting, pipelining, and enhancing your DNS logs with usage indicators, security analysis, and additional metadata"; - homepage = "https://github.com/dmachard/go-dnscollector"; + homepage = "https://github.com/dmachard/DNS-collector"; changelog = "https://github.com/dmachard/DNS-collector/releases/tag/${finalAttrs.src.tag}"; license = lib.licenses.mit; maintainers = with lib.maintainers; [ shift ]; diff --git a/pkgs/by-name/go/go-passbolt-cli/package.nix b/pkgs/by-name/go/go-passbolt-cli/package.nix index d72fccd81433..4559fdfd8546 100644 --- a/pkgs/by-name/go/go-passbolt-cli/package.nix +++ b/pkgs/by-name/go/go-passbolt-cli/package.nix @@ -8,16 +8,16 @@ buildGoModule (finalAttrs: { pname = "go-passbolt-cli"; - version = "0.5.0"; + version = "0.5.1"; src = fetchFromGitHub { owner = "passbolt"; repo = "go-passbolt-cli"; rev = "v${finalAttrs.version}"; - hash = "sha256-INV8z7GlZPGWNyGyBPgynRA40JiN4s2b4WgIoeQ23Hg="; + hash = "sha256-uccHe82p+56RV4tyZINFH0ilEdVREpZuxXXc7N5Vpgo="; }; - vendorHash = "sha256-dLfKIjm8SZHJhdiGayhrkZVdnARz8tE0N5T3JWuCbaM="; + vendorHash = "sha256-pjmKjTMPbjU0bI9+0YcwaIwoU2TG2NdWvNo9Uh3EHSA="; ldflags = [ "-X=main.version=${finalAttrs.version}" diff --git a/pkgs/by-name/go/gopodder/package.nix b/pkgs/by-name/go/gopodder/package.nix new file mode 100644 index 000000000000..944c70fe416e --- /dev/null +++ b/pkgs/by-name/go/gopodder/package.nix @@ -0,0 +1,52 @@ +{ + lib, + buildGoModule, + fetchFromGitHub, + gitUpdater, + versionCheckHook, +}: + +buildGoModule (finalAttrs: { + pname = "gopodder"; + version = "1.2.1"; + __structuredAttrs = true; + + src = fetchFromGitHub { + owner = "cbrgm"; + repo = "gopodder"; + tag = "v${finalAttrs.version}"; + hash = "sha256-o/iQnr8WLArecRyMttCluuEYwKirKsOJyj5a7tdulVo="; + }; + + vendorHash = "sha256-iG2IUfBVLQ7P0W4HOiGShVyD4mGUQ0dfGjG4XIYVtWU="; + + ldflags = [ + "-s" + "-X main.Version=${finalAttrs.version}" + "-X main.Revision=${finalAttrs.src.tag}" + "-X main.BuildDate=1970-01-01" + ]; + + env.CGO_ENABLED = 0; + + nativeInstallCheckInputs = [ + versionCheckHook + ]; + + doInstallCheck = true; + + __darwinAllowLocalNetworking = true; + + passthru.updateScript = gitUpdater { + rev-prefix = "v"; + }; + + meta = { + description = "Self-hostable podcast synchronization server compatible with the gPodder API"; + homepage = "https://github.com/cbrgm/gopodder"; + changelog = "https://github.com/cbrgm/gopodder/releases/tag/${finalAttrs.src.tag}"; + license = lib.licenses.asl20; + maintainers = with lib.maintainers; [ nielmin ]; + mainProgram = "gopodder"; + }; +}) diff --git a/pkgs/by-name/go/goshs/package.nix b/pkgs/by-name/go/goshs/package.nix index 6b458c181f32..91afbd817644 100644 --- a/pkgs/by-name/go/goshs/package.nix +++ b/pkgs/by-name/go/goshs/package.nix @@ -8,16 +8,16 @@ buildGoModule (finalAttrs: { pname = "goshs"; - version = "2.1.3"; + version = "2.1.4"; src = fetchFromGitHub { owner = "patrickhener"; repo = "goshs"; tag = "v${finalAttrs.version}"; - hash = "sha256-bAYnwOg7CHZOKHl8pCC2IDdCkUGsw0A3e47gSuGwuig="; + hash = "sha256-8xSYdLO+2AB044sV3JJw0RXB0RuLQ7eIzWvwgoJdp5k="; }; - vendorHash = "sha256-CAl4yYAM/GQaLbUUNjgMN6A3Vqw4D+kpG9G2WXw6mRU="; + vendorHash = "sha256-yKNJHs6A7Du9NvGOpwaDmABz6SBMPVzJNoQb7W32IfA="; ldflags = [ "-s" ]; diff --git a/pkgs/by-name/gp/gpclient/package.nix b/pkgs/by-name/gp/gpclient/package.nix index d950e936f37c..dcf730dde72e 100644 --- a/pkgs/by-name/gp/gpclient/package.nix +++ b/pkgs/by-name/gp/gpclient/package.nix @@ -82,7 +82,9 @@ rustPlatform.buildRustPackage { postPatch = '' substituteInPlace crates/openconnect/src/vpn_utils.rs \ + --replace-fail /usr/local/libexec/gpclient/vpnc-script $out/libexec/gpclient/vpnc-script \ --replace-fail /usr/libexec/gpclient/vpnc-script $out/libexec/gpclient/vpnc-script \ + --replace-fail /usr/local/libexec/gpclient/hipreport.sh $out/libexec/gpclient/hipreport.sh \ --replace-fail /usr/libexec/gpclient/hipreport.sh $out/libexec/gpclient/hipreport.sh substituteInPlace crates/common/src/constants.rs \ @@ -99,7 +101,9 @@ rustPlatform.buildRustPackage { cp -r packaging/files/usr/libexec $out/libexec substituteInPlace $out/libexec/gpclient/hipreport.sh \ - --replace-fail /usr/bin/gpclient $out/bin/gpclient + --replace-fail /usr/bin/gpclient $out/bin/gpclient \ + --replace-fail /opt/homebrew/bin/gpclient $out/bin/gpclient \ + --replace-fail /usr/local/bin/gpclient $out/bin/gpclient '' + lib.optionalString stdenv.hostPlatform.isLinux '' substituteInPlace $out/libexec/gpclient/vpnc-script \ diff --git a/pkgs/by-name/gr/gram/package.nix b/pkgs/by-name/gr/gram/package.nix index 48a4664be6fd..5ff5ef2d9d67 100644 --- a/pkgs/by-name/gr/gram/package.nix +++ b/pkgs/by-name/gr/gram/package.nix @@ -6,7 +6,6 @@ pkg-config, protobuf, fontconfig, - libgit2, openssl, sqlite, zlib, @@ -31,7 +30,7 @@ rustPlatform.buildRustPackage (finalAttrs: { pname = "gram"; - version = "2.2.0"; + version = "3.0.1"; outputs = [ "out" @@ -44,7 +43,7 @@ rustPlatform.buildRustPackage (finalAttrs: { owner = "GramEditor"; repo = "gram"; tag = finalAttrs.version; - hash = "sha256-w0uZ2qAc3Tt6QVRAX97LWW9aOs02fG1SEYCDhpUhinE="; + hash = "sha256-B3RmY1h0+D0aawNzevdt9f+gzozckjInhoz+t9taf8o="; }; postPatch = '' @@ -54,7 +53,7 @@ rustPlatform.buildRustPackage (finalAttrs: { --replace-fail '$CARGO_ABOUT_VERSION' '${cargo-about.version}' ''; - cargoHash = "sha256-+lmDbawAIRllC7LzGJ9qPMtHXPd5aMoul47YOA7nfXA="; + cargoHash = "sha256-pK0rUuPtWejXitbDQqh9fvdEv3aza0ZEg1XWnCmY4eE="; __structuredAttrs = true; @@ -71,7 +70,6 @@ rustPlatform.buildRustPackage (finalAttrs: { dontUseCmakeConfigure = true; buildInputs = [ - (libgit2.override { withExperimentalSha256 = true; }) openssl sqlite zlib @@ -89,16 +87,13 @@ rustPlatform.buildRustPackage (finalAttrs: { ] ++ lib.optionals buildRemoteServer [ "--package=remote_server" ]; - # Required on darwin because we don't have access to the proprietary Metal shader compiler. - buildFeatures = lib.optionals stdenv.hostPlatform.isDarwin [ "gpui/runtime_shaders" ]; - env = { ALLOW_MISSING_LICENSES = true; OPENSSL_NO_VENDOR = true; - LIBGIT2_NO_VENDOR = true; LIBSQLITE3_SYS_USE_PKG_CONFIG = true; ZSTD_SYS_USE_PKG_CONFIG = true; RELEASE_VERSION = finalAttrs.version; + GRAM_UPDATE_EXPLANATION = "Updates are handled by nixpkgs"; }; preBuild = '' diff --git a/pkgs/by-name/gw/gwq/package.nix b/pkgs/by-name/gw/gwq/package.nix new file mode 100644 index 000000000000..9ad31c002b9d --- /dev/null +++ b/pkgs/by-name/gw/gwq/package.nix @@ -0,0 +1,77 @@ +{ + lib, + buildGoModule, + fetchFromGitHub, + gitMinimal, + installShellFiles, + makeWrapper, + tmux, + writableTmpDirAsHomeHook, + versionCheckHook, + stdenv, +}: + +buildGoModule (finalAttrs: { + pname = "gwq"; + version = "0.1.1"; + + src = fetchFromGitHub { + owner = "d-kuro"; + repo = "gwq"; + tag = "v${finalAttrs.version}"; + hash = "sha256-MfCYFbODWnfPxx+6sLlcMT6tqghgILHB13+ccYqVjBA="; + }; + + vendorHash = "sha256-4K01Xf1EXl/NVX1loQ76l1bW8QglBAQdvlZSo7J4NPI="; + + subPackages = [ "cmd/gwq" ]; + + __structuredAttrs = true; + + ldflags = [ + "-s" + "-w" + "-X github.com/d-kuro/gwq/internal/cmd.version=v${finalAttrs.version}" + ]; + + nativeBuildInputs = [ + installShellFiles + makeWrapper + ]; + + nativeCheckInputs = [ + writableTmpDirAsHomeHook + ]; + + nativeInstallCheckInputs = [ + versionCheckHook + ]; + + postInstall = '' + wrapProgram $out/bin/gwq \ + --prefix PATH : ${ + lib.makeBinPath [ + gitMinimal + tmux + ] + } + '' + + lib.optionalString (stdenv.buildPlatform.canExecute stdenv.hostPlatform) '' + installShellCompletion --cmd gwq \ + --bash <($out/bin/gwq completion bash) \ + --fish <($out/bin/gwq completion fish) \ + --zsh <($out/bin/gwq completion zsh) + ''; + + doInstallCheck = true; + + meta = { + description = "Git worktree manager with fuzzy finder interface"; + homepage = "https://github.com/d-kuro/gwq"; + changelog = "https://github.com/d-kuro/gwq/releases/tag/v${finalAttrs.version}"; + license = lib.licenses.asl20; + mainProgram = "gwq"; + maintainers = with lib.maintainers; [ ojii3 ]; + platforms = lib.platforms.unix; + }; +}) diff --git a/pkgs/by-name/ha/handy/package.nix b/pkgs/by-name/ha/handy/package.nix index 0bd8e67d767c..edb67c0a0dbe 100644 --- a/pkgs/by-name/ha/handy/package.nix +++ b/pkgs/by-name/ha/handy/package.nix @@ -28,6 +28,7 @@ gtk-layer-shell, vulkan-loader, vulkan-headers, + spirv-headers, shaderc, gst_all_1, glib-networking, @@ -54,7 +55,7 @@ let in rustPlatform.buildRustPackage (finalAttrs: { pname = "handy"; - version = "0.8.3"; + version = "0.9.0"; __structuredAttrs = true; @@ -62,11 +63,11 @@ rustPlatform.buildRustPackage (finalAttrs: { owner = "cjpais"; repo = "Handy"; tag = "v${finalAttrs.version}"; - hash = "sha256-sCCtp6UAxmCAcYeOM9+RW2czATh4Geqf1H8wXNMniYc="; + hash = "sha256-jRzy8nsLtlNrYXb4LWP5SK6XpIy2pguNcZno3m6Mkqw="; }; cargoRoot = "src-tauri"; - cargoHash = "sha256-mvOThNqfE24iMkVBM2zYexJkQxpMMgE4PPNXKy39hSg="; + cargoHash = "sha256-Ag02t6KwKvgO1kKsQ4RAw9X+rWYNhDyav2N6i4o7ifQ="; nativeInstallInputs = [ jq ]; @@ -109,6 +110,7 @@ rustPlatform.buildRustPackage (finalAttrs: { ++ lib.optionals stdenv.hostPlatform.isLinux [ wrapGAppsHook4 shaderc + spirv-headers ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ makeBinaryWrapper @@ -154,12 +156,19 @@ rustPlatform.buildRustPackage (finalAttrs: { SWIFTC = lib.getExe' swift "swiftc"; # Explicit so the Handy build system can avoid xcrun }; - preBuild = '' - cp -R ${finalAttrs.passthru.frontendDeps}/node_modules . - chmod -R u+w node_modules - patchShebangs node_modules - bun run build - ''; + preBuild = + lib.optionalString stdenv.hostPlatform.isLinux '' + # Linux enables transcribe-cpp's ggml Vulkan backend, whose CMake build + # needs SPIRV-Headers' package config and headers. + export CMAKE_PREFIX_PATH="${spirv-headers}''${CMAKE_PREFIX_PATH:+:''${CMAKE_PREFIX_PATH}}" + export NIX_CFLAGS_COMPILE="-isystem ${spirv-headers}/include ''${NIX_CFLAGS_COMPILE:-}" + '' + + '' + cp -R ${finalAttrs.passthru.frontendDeps}/node_modules . + chmod -R u+w node_modules + patchShebangs node_modules + bun run build + ''; # If removed, the binary is produced, but not the app bundle for any platform. installPhase = '' @@ -208,8 +217,7 @@ rustPlatform.buildRustPackage (finalAttrs: { # The hook and deps fetcher in https://github.com/NixOS/nixpkgs/pull/376299 should simplify this dramatically. frontendDeps = stdenv.mkDerivation { pname = "handy-frontend-deps"; - version = "0.8.3"; - inherit (finalAttrs) src; + inherit (finalAttrs) src version; nativeBuildInputs = [ bun @@ -238,9 +246,9 @@ rustPlatform.buildRustPackage (finalAttrs: { outputHash = { - "x86_64-linux" = "sha256-tJ6LK99dELOiR0BcsTRTt/vLyNamntujLxhBy5Xl/lc="; - "aarch64-linux" = "sha256-S+dX6ZVgv9dexxIHoa5PxP7e0nxf/d7cKUGty5eEi8A="; - "aarch64-darwin" = "sha256-DQbogNBQ9izK5GPmoOudqiB2lJvct1vZI2U5lp3WFy8="; + "x86_64-linux" = "sha256-1jZBFvX9Ch3jNGPgSnOE8yNCXlHru7tcMJZ5uNZtE1g="; + "aarch64-linux" = "sha256-MsY2tOdBg11OMyQLRkLoVKxyrcqa0yVddfcYuIVWSxw="; + "aarch64-darwin" = "sha256-Fw0va7mq0F36qa15bDFVL01Q5pEprWhza78CzurLoLg="; } .${stdenv.hostPlatform.system}; @@ -268,7 +276,10 @@ rustPlatform.buildRustPackage (finalAttrs: { changelog = "https://github.com/cjpais/Handy/releases/tag/v${finalAttrs.version}"; license = lib.licenses.mit; mainProgram = "handy"; - maintainers = with lib.maintainers; [ philocalyst ]; + maintainers = with lib.maintainers; [ + faukah + philocalyst + ]; platforms = with lib.platforms; linux ++ darwin; badPlatforms = [ "x86_64-darwin" ]; # We weren't able to get hashes here }; diff --git a/pkgs/by-name/ha/hardinfo2/package.nix b/pkgs/by-name/ha/hardinfo2/package.nix index 756d1297b2ef..a91f768a4cfa 100644 --- a/pkgs/by-name/ha/hardinfo2/package.nix +++ b/pkgs/by-name/ha/hardinfo2/package.nix @@ -51,13 +51,13 @@ stdenv.mkDerivation (finalAttrs: { pname = "hardinfo2"; - version = "2.2.16"; + version = "2.3.1"; src = fetchFromGitHub { owner = "hardinfo2"; repo = "hardinfo2"; tag = "release-${finalAttrs.version}"; - hash = "sha256-n/Rf/XKsATx3OEzYSjl+2Yzk7WSiaBkbOveA9+xR6fc="; + hash = "sha256-rrb7iwR5kd7kJSncbE+yzdG55L7IaF7919kLsl/A5pY="; }; patches = [ diff --git a/pkgs/by-name/he/herdr/package.nix b/pkgs/by-name/he/herdr/package.nix index 324b3b3f2f58..b8e51cce25a6 100644 --- a/pkgs/by-name/he/herdr/package.nix +++ b/pkgs/by-name/he/herdr/package.nix @@ -1,11 +1,14 @@ { lib, + stdenv, rustPlatform, fetchFromGitHub, zig_0_15, + cctools, + xcbuild, + versionCheckHook, nix-update-script, }: - rustPlatform.buildRustPackage (finalAttrs: { pname = "herdr"; version = "0.7.1"; @@ -28,7 +31,13 @@ rustPlatform.buildRustPackage (finalAttrs: { hash = "sha256-pgGu8+NwvFcj6SrN4VaTHLeHdA7QY731ctyrHZwgFAc="; }; - nativeBuildInputs = [ zig_0_15.hook ]; + nativeBuildInputs = [ + zig_0_15.hook + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + cctools + xcbuild + ]; # Upstream binary tests are renamed, added, or changed between releases and # depend on host process details, so Nix-only patches for them are brittle. @@ -44,13 +53,21 @@ rustPlatform.buildRustPackage (finalAttrs: { chmod -R u+w "$ZIG_GLOBAL_CACHE_DIR/p" ''; - passthru.updateScript = nix-update-script { }; + nativeInstallCheckInputs = [ versionCheckHook ]; + doInstallCheck = true; + + passthru.updateScript = nix-update-script { + extraArgs = [ + "--custom-dep" + "zigDeps" + ]; + }; meta = { description = "Agent multiplexer that lives in your terminal"; - homepage = "https://github.com/ogulcancelik/herdr"; + homepage = "https://herdr.dev"; changelog = "https://github.com/ogulcancelik/herdr/releases/tag/v${finalAttrs.version}"; - license = lib.licenses.agpl3Only; + license = lib.licenses.agpl3Plus; maintainers = with lib.maintainers; [ kevinpita ]; mainProgram = "herdr"; platforms = lib.platforms.unix; diff --git a/pkgs/by-name/hu/hue-plus/package.nix b/pkgs/by-name/hu/hue-plus/package.nix index c229d5df7038..e0e3c2b609e9 100644 --- a/pkgs/by-name/hu/hue-plus/package.nix +++ b/pkgs/by-name/hu/hue-plus/package.nix @@ -5,16 +5,18 @@ libsForQt5, }: -python3Packages.buildPythonApplication { +python3Packages.buildPythonApplication (finalAttrs: { pname = "hue-plus"; version = "1.4.5"; - format = "setuptools"; + pyproject = true; + + build-system = with python3Packages; [ setuptools ]; src = fetchFromGitHub { owner = "kusti8"; repo = "hue-plus"; - rev = "7ce7c4603c6d0ab1da29b0d4080aa05f57bd1760"; - sha256 = "sha256-dDIJXhB3rmKnawOYJHE7WK38b0M5722zA+yLgpEjDyI="; + tag = "v.${finalAttrs.version}"; # Only the latest tag uses a . between v and 1. + hash = "sha256-dDIJXhB3rmKnawOYJHE7WK38b0M5722zA+yLgpEjDyI="; }; buildInputs = [ libsForQt5.qtbase ]; @@ -29,7 +31,6 @@ python3Packages.buildPythonApplication { setuptools ]; - doCheck = false; dontWrapQtApps = true; makeWrapperArgs = [ @@ -44,5 +45,6 @@ python3Packages.buildPythonApplication { ''; license = lib.licenses.gpl3Only; maintainers = with lib.maintainers; [ garaiza-93 ]; + mainProgram = "hue"; }; -} +}) diff --git a/pkgs/by-name/i1/i18next-cli/package-lock.json b/pkgs/by-name/i1/i18next-cli/package-lock.json index 30ec21cd2deb..3170b4c5a759 100644 --- a/pkgs/by-name/i1/i18next-cli/package-lock.json +++ b/pkgs/by-name/i1/i18next-cli/package-lock.json @@ -1,12 +1,12 @@ { "name": "i18next-cli", - "version": "1.64.1", + "version": "1.65.0", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "i18next-cli", - "version": "1.64.1", + "version": "1.65.0", "license": "MIT", "dependencies": { "@croct/json5-parser": "^0.2.2", @@ -1273,14 +1273,14 @@ } }, "node_modules/@napi-rs/wasm-runtime": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/@napi-rs/wasm-runtime/-/wasm-runtime-1.1.5.tgz", - "integrity": "sha512-AWPoBRJ9tsnVhor4sjO7rkni+7p+2IAEFj6cx06UgP10jkQHqay/36uRV/bFkgrh18D9vb4cr8Q0Pthskgzy+Q==", + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/@napi-rs/wasm-runtime/-/wasm-runtime-1.1.6.tgz", + "integrity": "sha512-ZLv/JdUfkvOy9eCnnBaGfiO+XimbjebAeO+MRQqD/B+FR1tnRN0tpKSJHRbE8sFfS6aqsXZ67TQjfwfsxULVbg==", "dev": true, "license": "MIT", "optional": true, "dependencies": { - "@tybys/wasm-util": "^0.10.2" + "@tybys/wasm-util": "^0.10.3" }, "funding": { "type": "github", @@ -1292,9 +1292,9 @@ } }, "node_modules/@oxc-project/types": { - "version": "0.137.0", - "resolved": "https://registry.npmjs.org/@oxc-project/types/-/types-0.137.0.tgz", - "integrity": "sha512-WT+Gb24i8hmvo85AIv2oEYouEXkRlKAlT9WaCa3TfLgNCN+GhrJOGZuIlMouAh38Qe4QOx26eUOVsq70qXrywA==", + "version": "0.138.0", + "resolved": "https://registry.npmjs.org/@oxc-project/types/-/types-0.138.0.tgz", + "integrity": "sha512-1a7ZKmrRTCoN1XMZ4L0PyyqrMnrNlLyPuOkdSX2MZg7IiIGRUyurNhAm73ptDOraoBcIordsIGKNPKUzy3ZmfA==", "dev": true, "license": "MIT", "funding": { @@ -1302,9 +1302,9 @@ } }, "node_modules/@rolldown/binding-android-arm64": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@rolldown/binding-android-arm64/-/binding-android-arm64-1.1.2.tgz", - "integrity": "sha512-2cZ+7xRS+DBcuJBJKnfzsbleumJhBqSlJVpuzHC0nTqfd3QQ7Vx2/x5YR/D7cBamKSeWplwo82Fn9lqYUDEMfA==", + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/@rolldown/binding-android-arm64/-/binding-android-arm64-1.1.4.tgz", + "integrity": "sha512-EZLpf/8y7GXkkra90ML47kzik/GMP3EMcE9bPyHmRfxLC6z9+aW5A8poCsoxjrT5GfEcNAAvWwUHjvP1pUQkfw==", "cpu": [ "arm64" ], @@ -1319,9 +1319,9 @@ } }, "node_modules/@rolldown/binding-darwin-arm64": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@rolldown/binding-darwin-arm64/-/binding-darwin-arm64-1.1.2.tgz", - "integrity": "sha512-RkPMJnygxsgOYdkfqgpwY0/Fzm8d0VQe6HGU2/B00Xa9eqdLbrII+DOKAodbJAn3ZL1AJxGHkZRPYazgGY6Ljw==", + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/@rolldown/binding-darwin-arm64/-/binding-darwin-arm64-1.1.4.tgz", + "integrity": "sha512-aUi+HBvmYb7j8krl1+qJgkG8C17fO79gk3c+jPw4S8glRFc1DTija9S3EyaTSQUm5GJXYKDAsugBEhFHH2vYiQ==", "cpu": [ "arm64" ], @@ -1336,9 +1336,9 @@ } }, "node_modules/@rolldown/binding-darwin-x64": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@rolldown/binding-darwin-x64/-/binding-darwin-x64-1.1.2.tgz", - "integrity": "sha512-Uiczh6vFhwyfd7WNe7Q7mCA4KxAiLdz7jPE/WGizfRpIieoyFuNVMmM8HqZ9HwudTkY6/AeMQwlNJ9NJijguWw==", + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/@rolldown/binding-darwin-x64/-/binding-darwin-x64-1.1.4.tgz", + "integrity": "sha512-F7hHC3gwY11+vByKPRWqwGbeXWVgKmL+pTGCinaEhdihzBV2aQ0fvZOch9cXYUOKuKKq429HeYXOqQLc7wFCEg==", "cpu": [ "x64" ], @@ -1353,9 +1353,9 @@ } }, "node_modules/@rolldown/binding-freebsd-x64": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@rolldown/binding-freebsd-x64/-/binding-freebsd-x64-1.1.2.tgz", - "integrity": "sha512-+TpdtTRgHiJFjCVFbw311SuLk3KfytPOQQn+VlAEv+gBxYPtL7E6JS9e/tk+8CwxhIZvemJKo4rTKgfWNsKkkA==", + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/@rolldown/binding-freebsd-x64/-/binding-freebsd-x64-1.1.4.tgz", + "integrity": "sha512-sI5yw+7s92SK6odiEhD5lKCBlWcpjHS5qyqpVQbZAJ0fIzEUXrmbl3DH2ybR3PZogulNJF+COLtmA8hUfvkCCQ==", "cpu": [ "x64" ], @@ -1370,9 +1370,9 @@ } }, "node_modules/@rolldown/binding-linux-arm-gnueabihf": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm-gnueabihf/-/binding-linux-arm-gnueabihf-1.1.2.tgz", - "integrity": "sha512-4lv1/tkmi7ueIVHnyreaOeUpiZP26BH9rRy6hoYfR9310A2B9nUEVRDvBx69vx64Nr3eTPPRkyciqJJs+j9Jmw==", + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm-gnueabihf/-/binding-linux-arm-gnueabihf-1.1.4.tgz", + "integrity": "sha512-mCi0OKgEieFircrtVYmQAFGszRtMnZ6fpZAXrxanXAu7lqZcsK1E1RAaZNG0uKAnxox3B1f4EyQNnoyMfN1vAA==", "cpu": [ "arm" ], @@ -1387,9 +1387,9 @@ } }, "node_modules/@rolldown/binding-linux-arm64-gnu": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm64-gnu/-/binding-linux-arm64-gnu-1.1.2.tgz", - "integrity": "sha512-gBSUVO0eaWgw1JMjK3gB8BMlX2Mk148s2lTiVT3e9vjVxbl7UDfMWWY8CfIaaqiXuM9fVTMxIpUz6CAo/B6Vlw==", + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm64-gnu/-/binding-linux-arm64-gnu-1.1.4.tgz", + "integrity": "sha512-B9Ial3Kv5sh0SHnB1g/QWcUQCEvCF6QKGAl4zXypYj65mVI+B4AhFBwPtSN7pDrJeIx8Z7zdy4ntx+wQABom7w==", "cpu": [ "arm64" ], @@ -1407,9 +1407,9 @@ } }, "node_modules/@rolldown/binding-linux-arm64-musl": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm64-musl/-/binding-linux-arm64-musl-1.1.2.tgz", - "integrity": "sha512-LjQP/iZLBu8o8PjIfk4x3At0/mT6h282pvz8Z5LAyhGbu/kDezyO7ea62rF5uoqmgnIYqbN/MqJ3Si3Aymi7xQ==", + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm64-musl/-/binding-linux-arm64-musl-1.1.4.tgz", + "integrity": "sha512-lZVym0PuHE1KZ22gmFTC15lAkrg9iTszR617oYRB/iPY1A56ywoJzVKOJBKaot5RiikCObmur6pogpse3gRcng==", "cpu": [ "arm64" ], @@ -1427,9 +1427,9 @@ } }, "node_modules/@rolldown/binding-linux-ppc64-gnu": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-ppc64-gnu/-/binding-linux-ppc64-gnu-1.1.2.tgz", - "integrity": "sha512-X/7bVLWelEsbyWDUSXt7zVsTniLLPIY2n1rH58qr78l9i7MNbbxBWD8gI2vRfBWf4NUXJCUuQnfZDsp32LqsfQ==", + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-ppc64-gnu/-/binding-linux-ppc64-gnu-1.1.4.tgz", + "integrity": "sha512-t2DNiLJWNTbnEHyUzTumldML6ET4/g16467LZoDDJ3tSxGvguL5/NyC2lCsNKuyRycg9XeDQF5SSv+TNOhQEXg==", "cpu": [ "ppc64" ], @@ -1447,9 +1447,9 @@ } }, "node_modules/@rolldown/binding-linux-s390x-gnu": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-s390x-gnu/-/binding-linux-s390x-gnu-1.1.2.tgz", - "integrity": "sha512-gb6dYKW/1KDorGXyy48glEBJs/sxVSC5pcVrox/pFGV4mvwSFeg2sK5L2tRkVsVlh7kueqOgg4GEcuipJcGuKg==", + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-s390x-gnu/-/binding-linux-s390x-gnu-1.1.4.tgz", + "integrity": "sha512-0WIRnL1Uw4BvTZRLQt+PVgo6ZKTJadlC2btP+/EOXv2f/DWbY0rEgl+y834mIVwP1FkTlWVTrGGJXf12lru7EQ==", "cpu": [ "s390x" ], @@ -1467,9 +1467,9 @@ } }, "node_modules/@rolldown/binding-linux-x64-gnu": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-x64-gnu/-/binding-linux-x64-gnu-1.1.2.tgz", - "integrity": "sha512-JY4w85pU3iAiJVMh5nuk4/Mh9GjMsupe8MrIN53rwxAZW64GKrWeJBuN6SxQg9QTU5uB1cxyhDzW8jqRn1EABw==", + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-x64-gnu/-/binding-linux-x64-gnu-1.1.4.tgz", + "integrity": "sha512-JWtGshGfX+oENAKonoNkqEJX+7hC8yfhi9GUyPX1VX4mdh1y5r+ZiJLR5XzAB0aoP6s/PcILsGjKq8O0mm24bw==", "cpu": [ "x64" ], @@ -1487,9 +1487,9 @@ } }, "node_modules/@rolldown/binding-linux-x64-musl": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-x64-musl/-/binding-linux-x64-musl-1.1.2.tgz", - "integrity": "sha512-xvpA7o5KCYLB0Rwscmuylb1/zHHSUx4g4xilm4prC5jP76pEUlzBmMbgpbh7bVDbId4NcfT96gN5i6mE6UDaiw==", + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-x64-musl/-/binding-linux-x64-musl-1.1.4.tgz", + "integrity": "sha512-rT6yQcxUuXs4CnbofqwHRRV0iem349rLMYpTjkgQGLjrY4ado/eDzwPZPTCgTOlF6Nkp8NEv70yLMTn6qkWxsQ==", "cpu": [ "x64" ], @@ -1507,9 +1507,9 @@ } }, "node_modules/@rolldown/binding-openharmony-arm64": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@rolldown/binding-openharmony-arm64/-/binding-openharmony-arm64-1.1.2.tgz", - "integrity": "sha512-p/ts6KBLjuk49Bp21XH77poQGt02iNz7ChgHep7tudPOaLinR/De/RHdxF8w8Yj4r/bF/bqXwH6PZrB2sA+Nvw==", + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/@rolldown/binding-openharmony-arm64/-/binding-openharmony-arm64-1.1.4.tgz", + "integrity": "sha512-KXMGoboq5cyaCQjDA4GLuRiOwBQ0EyFnJoVViLeZ45/3rFItRODEr+NdsBcVpll40hhNArlm/speWGRvj08LzA==", "cpu": [ "arm64" ], @@ -1524,9 +1524,9 @@ } }, "node_modules/@rolldown/binding-wasm32-wasi": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@rolldown/binding-wasm32-wasi/-/binding-wasm32-wasi-1.1.2.tgz", - "integrity": "sha512-VMu/wmrZ9hJzYlRhbw7jK5PODlugyKZ5mOdX78+lS8OvuFkWNQdz1pFLrI2p3P0pjXOmUZ7B48o5VnMH9QOGtg==", + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/@rolldown/binding-wasm32-wasi/-/binding-wasm32-wasi-1.1.4.tgz", + "integrity": "sha512-5K83rb36oJiY7BCyE9zLZtGcPV4g5wvq+xwdO0XPIwDVZI8cyB/AUjkNXGb92/rnmezEkjMOpgY61rtwjQtFwg==", "cpu": [ "wasm32" ], @@ -1536,7 +1536,7 @@ "dependencies": { "@emnapi/core": "1.11.1", "@emnapi/runtime": "1.11.1", - "@napi-rs/wasm-runtime": "^1.1.5" + "@napi-rs/wasm-runtime": "^1.1.6" }, "engines": { "node": "^20.19.0 || >=22.12.0" @@ -1577,9 +1577,9 @@ } }, "node_modules/@rolldown/binding-win32-arm64-msvc": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@rolldown/binding-win32-arm64-msvc/-/binding-win32-arm64-msvc-1.1.2.tgz", - "integrity": "sha512-xtUJqs8qEkuSviS0n1tsohaPuz3a1SPhZywOji4Oo+sgrJs8daEDMZ0QtqL0OS7dx8PoVpg2J/ZZycPY5I2+Zg==", + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/@rolldown/binding-win32-arm64-msvc/-/binding-win32-arm64-msvc-1.1.4.tgz", + "integrity": "sha512-PnWBtw3TV5KOg69HQQDR0mnQuyCmSGR2pAB4DC1rPF808fgKeTUMj2EOEyKATpgiuxuR5APQmiDO7PDgEjTFSA==", "cpu": [ "arm64" ], @@ -1594,9 +1594,9 @@ } }, "node_modules/@rolldown/binding-win32-x64-msvc": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@rolldown/binding-win32-x64-msvc/-/binding-win32-x64-msvc-1.1.2.tgz", - "integrity": "sha512-85YiLQqjUKgSO/Zjnf9e0XIn5Ymrh1fLDWBeAkZqpuBR/3R8TpfoHXuyblqyQrftSSgWO9qpcHN8mkyKsLraoA==", + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/@rolldown/binding-win32-x64-msvc/-/binding-win32-x64-msvc-1.1.4.tgz", + "integrity": "sha512-M1lpniBePobTfsa7Ks9a199e1akxsXn+GYBUKsEzv3YFzOm1HJAMNwKI3qr0Zq+mxwx9gOZoTdP1yXRYsZUocQ==", "cpu": [ "x64" ], @@ -2523,17 +2523,17 @@ } }, "node_modules/@typescript-eslint/eslint-plugin": { - "version": "8.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.62.0.tgz", - "integrity": "sha512-o+mpz7EYiMzXoySXiKmzlabIvTVqUuK5yLrAedRPRDA0IpPFMUV1IXt6OqljIxX/kumN6EjUYp41Hqelh6p/Dw==", + "version": "8.62.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.62.1.tgz", + "integrity": "sha512-4EQM77WgVNxj7OkL/5b/D/xZsw00G577+UriYTC7JF5opcF3T2AuoeY7ueLaZgSVjSgCS6yOAJB5bRGLPSJUzA==", "dev": true, "license": "MIT", "dependencies": { "@eslint-community/regexpp": "^4.12.2", - "@typescript-eslint/scope-manager": "8.62.0", - "@typescript-eslint/type-utils": "8.62.0", - "@typescript-eslint/utils": "8.62.0", - "@typescript-eslint/visitor-keys": "8.62.0", + "@typescript-eslint/scope-manager": "8.62.1", + "@typescript-eslint/type-utils": "8.62.1", + "@typescript-eslint/utils": "8.62.1", + "@typescript-eslint/visitor-keys": "8.62.1", "ignore": "^7.0.5", "natural-compare": "^1.4.0", "ts-api-utils": "^2.5.0" @@ -2546,7 +2546,7 @@ "url": "https://opencollective.com/typescript-eslint" }, "peerDependencies": { - "@typescript-eslint/parser": "^8.62.0", + "@typescript-eslint/parser": "^8.62.1", "eslint": "^8.57.0 || ^9.0.0 || ^10.0.0", "typescript": ">=4.8.4 <6.1.0" } @@ -2562,16 +2562,16 @@ } }, "node_modules/@typescript-eslint/parser": { - "version": "8.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.62.0.tgz", - "integrity": "sha512-dzHeT2gySzZtLDsuqxU9AkYgIsQoHAHtRBpOqM+Ofzx1Bwrd2RcCjQJ+6iQbsHOIR6NS33bF2W1k3blN1zLDrA==", + "version": "8.62.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.62.1.tgz", + "integrity": "sha512-sPhE4iHuJDSvoAiec+Ro8JyXw8f0ql13HFR82P99nCm9GwTEKG0KYLvDe6REk8BCXuit6vJAv/Yxg5ABaNS2rA==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/scope-manager": "8.62.0", - "@typescript-eslint/types": "8.62.0", - "@typescript-eslint/typescript-estree": "8.62.0", - "@typescript-eslint/visitor-keys": "8.62.0", + "@typescript-eslint/scope-manager": "8.62.1", + "@typescript-eslint/types": "8.62.1", + "@typescript-eslint/typescript-estree": "8.62.1", + "@typescript-eslint/visitor-keys": "8.62.1", "debug": "^4.4.3" }, "engines": { @@ -2587,14 +2587,14 @@ } }, "node_modules/@typescript-eslint/project-service": { - "version": "8.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/project-service/-/project-service-8.62.0.tgz", - "integrity": "sha512-wexnCqiTg7BOGtbLDftYpRWlmLq4xfoMd7BKFR6Y75sZS3QmRKLdN3yWLhmIYgqMmP/OXWpj3H8odkb5nGURCQ==", + "version": "8.62.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/project-service/-/project-service-8.62.1.tgz", + "integrity": "sha512-yQ3RgY5RkSBpsNS1Bx/JQEcA24FOSdfGktoyprAr5u18390UQdtVcfnEv4nIrIshNnavlVyZBKxQwT1fIAE6cg==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/tsconfig-utils": "^8.62.0", - "@typescript-eslint/types": "^8.62.0", + "@typescript-eslint/tsconfig-utils": "^8.62.1", + "@typescript-eslint/types": "^8.62.1", "debug": "^4.4.3" }, "engines": { @@ -2609,14 +2609,14 @@ } }, "node_modules/@typescript-eslint/scope-manager": { - "version": "8.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.62.0.tgz", - "integrity": "sha512-1lX38kNxXIRb8mEc3lbq5mdHq1Pf2+U0nFU65KfT18mtPxxl0fvjuEE92mHuXPuCtElJhOrddOpyMlM3Z0umEA==", + "version": "8.62.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.62.1.tgz", + "integrity": "sha512-r4d249KbQ1SFdpeStvob8Ih6aPPIzfqllPVOtvhve6ZcpuVcYo5/7zUWckKpHE7StASX4kTKZTLf0WQm/wPkcg==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/types": "8.62.0", - "@typescript-eslint/visitor-keys": "8.62.0" + "@typescript-eslint/types": "8.62.1", + "@typescript-eslint/visitor-keys": "8.62.1" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -2627,9 +2627,9 @@ } }, "node_modules/@typescript-eslint/tsconfig-utils": { - "version": "8.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/tsconfig-utils/-/tsconfig-utils-8.62.0.tgz", - "integrity": "sha512-y2GAdB6ykaXUvuspbYnizQc4oDDz0Tz/Yc7iWrXf9mx8vm/L/0vLHCe0tS2boG96Zy+DivnVDQ9ZUEWoHqqx1g==", + "version": "8.62.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/tsconfig-utils/-/tsconfig-utils-8.62.1.tgz", + "integrity": "sha512-xadytJqX9vJVQ2fdQjkcIVigwaOJNWkpjdLt6cEQ+xPnrI1fkp+/jZE/I97k9KUjqtpd25i0HeyZf3T6dutv2g==", "dev": true, "license": "MIT", "engines": { @@ -2644,15 +2644,15 @@ } }, "node_modules/@typescript-eslint/type-utils": { - "version": "8.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.62.0.tgz", - "integrity": "sha512-+g5O3j0w2ldzC86Pv6fvbO/xhAonbJFIdf/MKQ1d30gndlsVzUOE83ldfSE15Qrl9fhFjK6AovHs5Wpp6vx86w==", + "version": "8.62.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.62.1.tgz", + "integrity": "sha512-aXM5xlqXiTxPibXB93cLAURfT3rlizf7uMXISCXy66Isr/9hISJx3yDsKl0L7lKa51b8JpFuNKby0/O0pEm9jg==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/types": "8.62.0", - "@typescript-eslint/typescript-estree": "8.62.0", - "@typescript-eslint/utils": "8.62.0", + "@typescript-eslint/types": "8.62.1", + "@typescript-eslint/typescript-estree": "8.62.1", + "@typescript-eslint/utils": "8.62.1", "debug": "^4.4.3", "ts-api-utils": "^2.5.0" }, @@ -2669,9 +2669,9 @@ } }, "node_modules/@typescript-eslint/types": { - "version": "8.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.62.0.tgz", - "integrity": "sha512-KvAclkktORPvM54TgLgA4z9HIV1M8zOgw9ZVNXl9f/8dLYfXYX1wkMXP7qmabpijQRV5bHJLOmoyGQbLMaUYeg==", + "version": "8.62.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.62.1.tgz", + "integrity": "sha512-ooCzJFaf+Hg+uG6fA3NRFGuFjlfNlDhBthbv4ZPU/0elCAFUfnyXUvf/WOpHz/jYwSmvU2GkR2LtyUfy1AxZ1Q==", "dev": true, "license": "MIT", "engines": { @@ -2683,16 +2683,16 @@ } }, "node_modules/@typescript-eslint/typescript-estree": { - "version": "8.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.62.0.tgz", - "integrity": "sha512-+hVbNxtW64pIcZWDPGbyaKF7vp2IBTVY5ma1blwwksrjdsbdqqEKvJWMGbBofei4F6Dovx1M0RJgoFeNu2279A==", + "version": "8.62.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.62.1.tgz", + "integrity": "sha512-xMcW9oP9u7fAMXYs9A65CVmtLQe2r//oXINHfi8HV+oiqhih17sbLdhXr4540YWlgpDKQdY854OL5ZrdCiQsAA==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/project-service": "8.62.0", - "@typescript-eslint/tsconfig-utils": "8.62.0", - "@typescript-eslint/types": "8.62.0", - "@typescript-eslint/visitor-keys": "8.62.0", + "@typescript-eslint/project-service": "8.62.1", + "@typescript-eslint/tsconfig-utils": "8.62.1", + "@typescript-eslint/types": "8.62.1", + "@typescript-eslint/visitor-keys": "8.62.1", "debug": "^4.4.3", "minimatch": "^10.2.2", "semver": "^7.7.3", @@ -2711,16 +2711,16 @@ } }, "node_modules/@typescript-eslint/utils": { - "version": "8.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.62.0.tgz", - "integrity": "sha512-82r66fi9zYwZ+mTq3vKgwjbZ1PVk/DJzrXFLpG6RnBbdvH8TEGVHIs9H4d2drhkOzf0syZuD/OZvvlu6GDbP4g==", + "version": "8.62.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.62.1.tgz", + "integrity": "sha512-sHtbPfuKNZCG+ih8SyjjucqRntSVmp8XgL5u6o9mAhiSn8ds5o/M/XdM0abweme2Tln3szOstOrZ9OXitvPh0g==", "dev": true, "license": "MIT", "dependencies": { "@eslint-community/eslint-utils": "^4.9.1", - "@typescript-eslint/scope-manager": "8.62.0", - "@typescript-eslint/types": "8.62.0", - "@typescript-eslint/typescript-estree": "8.62.0" + "@typescript-eslint/scope-manager": "8.62.1", + "@typescript-eslint/types": "8.62.1", + "@typescript-eslint/typescript-estree": "8.62.1" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -2735,13 +2735,13 @@ } }, "node_modules/@typescript-eslint/visitor-keys": { - "version": "8.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.62.0.tgz", - "integrity": "sha512-CY3uyFSRbcQv3nnSv8S0+lDftMVz6P963PoRlxrV7ew/Md564g9ut60PYzdLM5qW4jFn93GBF+Soi90ISAN+GQ==", + "version": "8.62.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.62.1.tgz", + "integrity": "sha512-4g3BLxfdTMy8iZG0MaBkadnlRrCJ74cQiFbyEVMrkwIoqdyaXXQM22cotDvrl4x28wgIZ9rEJRoM+mmhSJpJ1g==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/types": "8.62.0", + "@typescript-eslint/types": "8.62.1", "eslint-visitor-keys": "^5.0.0" }, "engines": { @@ -3552,9 +3552,9 @@ } }, "node_modules/brace-expansion": { - "version": "5.0.6", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.6.tgz", - "integrity": "sha512-kLpxurY4Z4r9sgMsyG0Z9uzsBlgiU/EFKhj/h91/8yHu0edo7XuixOIH3VcJ8kkxs6/jPzoI6U9Vj3WqbMQ94g==", + "version": "5.0.7", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.7.tgz", + "integrity": "sha512-7oFy703dxfY3/NLxC1fh2SUCQ0H9rmAY+5EpDVfXjUTTs+HEwR2nYaqLv+GWcTsumwxPfiz6CzCNkwXwBUwqCA==", "license": "MIT", "dependencies": { "balanced-match": "^4.0.2" @@ -3932,9 +3932,9 @@ } }, "node_modules/enhanced-resolve": { - "version": "5.24.0", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.24.0.tgz", - "integrity": "sha512-SkE2t82KlkkxQRVMVLAGKxLfORGQfrkx5dkj+vlgXRVNEdPc4eZcR+J/Fvj8C+yKSFH5L0q3NFlyufOVQnCcYQ==", + "version": "5.24.1", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.24.1.tgz", + "integrity": "sha512-7DdUaTjmNwMcH2gLr1qycesKII3BK4RLy/mdAb7x10Lq7bR4aNKHt1BR1ZALSv0rPM/hF5wYF0PhGop/rJm8vw==", "dev": true, "license": "MIT", "dependencies": { @@ -4082,9 +4082,9 @@ } }, "node_modules/es-module-lexer": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-2.1.0.tgz", - "integrity": "sha512-n27zTYMjYu1aj4MjCWzSP7G9r75utsaoc8m61weK+W8JMBGGQybd43GstCXZ3WNmSFtGT9wi59qQTW6mhTR5LQ==", + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-2.3.0.tgz", + "integrity": "sha512-KLdwQm2NvGLDkQDCGvmiQrhkd0JbMzXthwQAUgWjQuQdBLFa3eiBP5arXZyA+f8x+x7OXgud6bq2rxjGtHV2tw==", "dev": true, "license": "MIT" }, @@ -4131,13 +4131,14 @@ } }, "node_modules/es-to-primitive": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.3.1.tgz", - "integrity": "sha512-CxN9N56HYfd2m/acc/NOFrZQsN9kU4eh+2kk6A707Kz1krH8tKmfrs5RnftB8WNX80T0NS7vSQsDOlg23diR2g==", + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.3.4.tgz", + "integrity": "sha512-yPDz7wqpg1/mmHLmS3tcfTfbw5f1eryXvyghYBffGdERwe+mV7ZcWzTR8LR17Kvqt3qfPurjlonmnq3MKXIOXw==", "dev": true, "license": "MIT", "dependencies": { "es-abstract-get": "^1.0.0", + "es-define-property": "^1.0.1", "es-errors": "^1.3.0", "is-callable": "^1.2.7", "is-date-object": "^1.1.0", @@ -4822,9 +4823,9 @@ } }, "node_modules/expect-type": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/expect-type/-/expect-type-1.3.0.tgz", - "integrity": "sha512-knvyeauYhqjOYvQ66MznSMs83wmHrCycNEN6Ao+2AeYEfxUIkuiVxdEa1qlGEPK+We3n0THiDciYSsCcgW/DoA==", + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/expect-type/-/expect-type-1.4.0.tgz", + "integrity": "sha512-KfYbmpRm0VbLjEvVa9yGwCi9GI34xvi7A/HXYWQO65CSD2u3MczUJSuwXKFIxlGsgBQizV9q5J9NHj4VG0n+pA==", "dev": true, "license": "Apache-2.0", "engines": { @@ -5377,9 +5378,9 @@ } }, "node_modules/i18next": { - "version": "26.3.1", - "resolved": "https://registry.npmjs.org/i18next/-/i18next-26.3.1.tgz", - "integrity": "sha512-txQqd5EULsqEh9OJqRH15aCaOuy/nLJyhw5EHCSKLKJE1aBbb3Zve2+uQIxgWhPm1QqUQoWyQBm2kfmmIrzkcQ==", + "version": "26.3.4", + "resolved": "https://registry.npmjs.org/i18next/-/i18next-26.3.4.tgz", + "integrity": "sha512-pa7m0d7pBDqGHZxljT+WPFeyFgQ7P7SciPPo1tTqYuO0z4sqADYhwnBESmmGp/wEof1inwdls/k8ZgTg8rxFHA==", "funding": [ { "type": "individual", @@ -6055,9 +6056,9 @@ "license": "MIT" }, "node_modules/js-yaml": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.2.0.tgz", - "integrity": "sha512-ePWsvanv0DWuDRsW8dnt+R4jQ31SCRCQ7hhNcPXZPsoBZiemuZNYGf7adZdqX2D86j6rvKp3RpCxVTSb8WQlOw==", + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.3.0.tgz", + "integrity": "sha512-1td788aAnnZ5qs7V2QIRl1owjtYpbKt749Y3xauqQgwIIGF/xXWz1wMTEBx5O3LK3lXLVuqXPdPxj2BoFHaW9Q==", "dev": true, "funding": [ { @@ -7211,9 +7212,9 @@ "license": "ISC" }, "node_modules/picomatch": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.4.tgz", - "integrity": "sha512-QP88BAKvMam/3NxH6vj2o21R6MjxZUAd6nlwAS/pnGvN9IVLocLHxGYIzFhg6fUQ+5th6P4dv4eW9jX3DSIj7A==", + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.5.tgz", + "integrity": "sha512-RvwwcruNjI1ncT5xRakeyS9Lf8lcItv34KD+aif+VH9kduAyfYBipGh12274xtenIPZ119/R9BdTBa8gAwSh0A==", "dev": true, "license": "MIT", "engines": { @@ -7234,9 +7235,9 @@ } }, "node_modules/postcss": { - "version": "8.5.15", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.15.tgz", - "integrity": "sha512-FfR8sjd4em2T6fb3I2MwAJU7HWVMr9zba+enmQeeWFfCbm+UOC/0X4DS8XtpUTMwWMGbjKYP7xjfNekzyGmB3A==", + "version": "8.5.16", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.16.tgz", + "integrity": "sha512-vuwillviilfKZsg0VGj5R/YwwcHx4SLsIOI/7K6mQkWx+l5cUHTjj5g0AasTBcyXsbfTgrwsUNmVUb5xVwyPwg==", "dev": true, "funding": [ { @@ -7468,13 +7469,13 @@ } }, "node_modules/rolldown": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/rolldown/-/rolldown-1.1.2.tgz", - "integrity": "sha512-x0CrQQqCXWGeI8dTvFfN/Dnv3yMKT9hv5jFjlOreKAx9wqLq9wz7VvLLHyaAXC90/CpggTu9SisSbsJJTPSjNQ==", + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/rolldown/-/rolldown-1.1.4.tgz", + "integrity": "sha512-IjZYiLxZwpnhwhdBH2ugdTGVSdhCQUmLxLoqyjiL0JxYjyRst+5a0P3xfrTxJ5F638j4Mvvw5FAX5XE6eHpXbA==", "dev": true, "license": "MIT", "dependencies": { - "@oxc-project/types": "=0.137.0", + "@oxc-project/types": "=0.138.0", "@rolldown/pluginutils": "^1.0.0" }, "bin": { @@ -7484,21 +7485,21 @@ "node": "^20.19.0 || >=22.12.0" }, "optionalDependencies": { - "@rolldown/binding-android-arm64": "1.1.2", - "@rolldown/binding-darwin-arm64": "1.1.2", - "@rolldown/binding-darwin-x64": "1.1.2", - "@rolldown/binding-freebsd-x64": "1.1.2", - "@rolldown/binding-linux-arm-gnueabihf": "1.1.2", - "@rolldown/binding-linux-arm64-gnu": "1.1.2", - "@rolldown/binding-linux-arm64-musl": "1.1.2", - "@rolldown/binding-linux-ppc64-gnu": "1.1.2", - "@rolldown/binding-linux-s390x-gnu": "1.1.2", - "@rolldown/binding-linux-x64-gnu": "1.1.2", - "@rolldown/binding-linux-x64-musl": "1.1.2", - "@rolldown/binding-openharmony-arm64": "1.1.2", - "@rolldown/binding-wasm32-wasi": "1.1.2", - "@rolldown/binding-win32-arm64-msvc": "1.1.2", - "@rolldown/binding-win32-x64-msvc": "1.1.2" + "@rolldown/binding-android-arm64": "1.1.4", + "@rolldown/binding-darwin-arm64": "1.1.4", + "@rolldown/binding-darwin-x64": "1.1.4", + "@rolldown/binding-freebsd-x64": "1.1.4", + "@rolldown/binding-linux-arm-gnueabihf": "1.1.4", + "@rolldown/binding-linux-arm64-gnu": "1.1.4", + "@rolldown/binding-linux-arm64-musl": "1.1.4", + "@rolldown/binding-linux-ppc64-gnu": "1.1.4", + "@rolldown/binding-linux-s390x-gnu": "1.1.4", + "@rolldown/binding-linux-x64-gnu": "1.1.4", + "@rolldown/binding-linux-x64-musl": "1.1.4", + "@rolldown/binding-openharmony-arm64": "1.1.4", + "@rolldown/binding-wasm32-wasi": "1.1.4", + "@rolldown/binding-win32-arm64-msvc": "1.1.4", + "@rolldown/binding-win32-x64-msvc": "1.1.4" } }, "node_modules/rollup": { @@ -7640,9 +7641,9 @@ } }, "node_modules/serialize-javascript": { - "version": "7.0.6", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-7.0.6.tgz", - "integrity": "sha512-ATTK5Q4gFVg0YDp1my2vqygyvhcklD/UV5GIlYHooGTn/NogJqIzpetkD6E5kmuVULqz/S9inUL25XcAgDRJQg==", + "version": "7.0.7", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-7.0.7.tgz", + "integrity": "sha512-YAy8Od6KV+uuwUuU50np8fGB/Aues6Y0nAhA9y/hId74PlKUcme4pXcBD46NWKr1Q4osN/iseZ17YqO1XfmI8g==", "dev": true, "license": "BSD-3-Clause", "engines": { @@ -8376,16 +8377,16 @@ } }, "node_modules/typescript-eslint": { - "version": "8.62.0", - "resolved": "https://registry.npmjs.org/typescript-eslint/-/typescript-eslint-8.62.0.tgz", - "integrity": "sha512-8QxXi+ZACKX0kaqO4gY8kn0RSD9gFfaHDWwjqtEN48aWCBkX4MJaufWN+c3BzlrXLOxfywDL8CaoqUwcRq4j4Q==", + "version": "8.62.1", + "resolved": "https://registry.npmjs.org/typescript-eslint/-/typescript-eslint-8.62.1.tgz", + "integrity": "sha512-vymnnM5g0AKQDSAyfP12nMIBvgwgA42syg74kkuZ4x1VuTzwQKwc5h9rGxeShCjny5o+zWAb6OEoz7XLgrIkIw==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/eslint-plugin": "8.62.0", - "@typescript-eslint/parser": "8.62.0", - "@typescript-eslint/typescript-estree": "8.62.0", - "@typescript-eslint/utils": "8.62.0" + "@typescript-eslint/eslint-plugin": "8.62.1", + "@typescript-eslint/parser": "8.62.1", + "@typescript-eslint/typescript-estree": "8.62.1", + "@typescript-eslint/utils": "8.62.1" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -8526,16 +8527,16 @@ } }, "node_modules/vite": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/vite/-/vite-8.1.0.tgz", - "integrity": "sha512-BuJcQK/56NQTWDGn4ABea3q4SSBdNPWwNZKTkkUpcMPnLoquSYH8llRtSUIgoL1KSCpHt5eghLShn50mH36y7Q==", + "version": "8.1.3", + "resolved": "https://registry.npmjs.org/vite/-/vite-8.1.3.tgz", + "integrity": "sha512-Ds+gBRbj0lwRO2Y5hwnUBdxSwlAve9LeRyU4sNnAr0ewW0gWF0n5bgXgUzbgZ49MV9BVUAQUFYVcDUcilUExMA==", "dev": true, "license": "MIT", "dependencies": { "lightningcss": "^1.32.0", "picomatch": "^4.0.4", - "postcss": "^8.5.15", - "rolldown": "~1.1.2", + "postcss": "^8.5.16", + "rolldown": "~1.1.3", "tinyglobby": "^0.2.17" }, "bin": { diff --git a/pkgs/by-name/i1/i18next-cli/package.nix b/pkgs/by-name/i1/i18next-cli/package.nix index 70407dbdffd5..af78f5de1d14 100644 --- a/pkgs/by-name/i1/i18next-cli/package.nix +++ b/pkgs/by-name/i1/i18next-cli/package.nix @@ -6,13 +6,13 @@ }: buildNpmPackage rec { pname = "i18next-cli"; - version = "1.64.1"; + version = "1.65.0"; src = fetchFromGitHub { owner = "i18next"; repo = "i18next-cli"; tag = "v${version}"; - hash = "sha256-wcWWatjeI0Z/NLVaFehtgbaVFEyjrYochVdjcntmUcA="; + hash = "sha256-FsEzoMCw/4EXyLoSgk/RBkW9/MOBqI6kJQNQ6wDGUwc="; }; # NOTE: Generating lock-file @@ -21,7 +21,7 @@ buildNpmPackage rec { cp ${./package-lock.json} package-lock.json ''; - npmDepsHash = "sha256-kRl96n6ozc7lZdFYcXsEJbUDZuJiZRcfczJ8rIWZSDY="; + npmDepsHash = "sha256-66B60eeCPGTGX6KaZeTH/HIaISqVAYKFxhw6ikWSs64="; passthru.updateScript = nix-update-script { extraArgs = [ "--generate-lockfile" ]; diff --git a/pkgs/by-name/ka/katvan/package.nix b/pkgs/by-name/ka/katvan/package.nix new file mode 100644 index 000000000000..371d8880ca77 --- /dev/null +++ b/pkgs/by-name/ka/katvan/package.nix @@ -0,0 +1,99 @@ +{ + lib, + stdenv, + fetchFromGitHub, + + # nativeBuildInputs + cmake, + pkg-config, + python3, + rustPlatform, + rustc, + cargo, + + # buildInputs + qt6, + libarchive, + corrosion, + hunspell, + + # checkInputs + gtest, +}: + +stdenv.mkDerivation (finalAttrs: { + pname = "katvan"; + version = "0.12.1"; + __structuredAttrs = true; + strictDeps = true; + + src = fetchFromGitHub { + owner = "IgKh"; + repo = "katvan"; + tag = "v${finalAttrs.version}"; + hash = "sha256-WyPiRj/5So/1vjAytnXoldwYMG++tuLl0B0v31BeJxY="; + }; + + cargoDeps = rustPlatform.fetchCargoVendor { + inherit (finalAttrs) + pname + version + src + cargoRoot + ; + hash = "sha256-p5cMFCuDy17uMoy99R8l+e6iQcbNXSavFj0sBRRsMwo="; + }; + + # The CMakeLists files used by upstream issue a `cargo install` command to + # install a rust tool (cxxbridge-cmd) that is supposed to be included in the Cargo.toml's and + # `Cargo.lock` files of upstream. Setting CARGO_HOME like that helps `cargo + # install` find the dependencies we prefetched. See also: + # https://github.com/GothenburgBitFactory/taskwarrior/issues/3705 + postUnpack = '' + export CARGO_HOME=$PWD/.cargo + ''; + + cargoRoot = "typstdriver/rust"; + + nativeBuildInputs = [ + cmake + pkg-config + qt6.wrapQtAppsHook + qt6.qttools + rustPlatform.cargoSetupHook + rustc + cargo + (python3.withPackages (ps: [ + ps.mistletoe + ])) + ]; + + buildInputs = [ + qt6.qtbase + libarchive + corrosion + hunspell + ]; + + checkInputs = [ + gtest + ]; + + cmakeFlags = [ + # Don't set this to an absolute path, as it breaks upstream rpath settings + # for the final executable, see: https://github.com/IgKh/katvan/issues/46 + (lib.cmakeFeature "CMAKE_INSTALL_LIBDIR" "lib") + ]; + + doCheck = true; + + meta = { + description = "bare-bones editor for Typst files, with a bias for Right-to-Left editing"; + homepage = "https://github.com/IgKh/katvan"; + changelog = "https://github.com/IgKh/katvan/blob/${finalAttrs.src.tag}/CHANGELOG.md"; + license = lib.licenses.gpl3Only; + maintainers = with lib.maintainers; [ doronbehar ]; + mainProgram = "katvan"; + platforms = lib.platforms.all; + }; +}) diff --git a/pkgs/by-name/ki/kip/package.nix b/pkgs/by-name/ki/kip/package.nix new file mode 100644 index 000000000000..a1a7d2a7863c --- /dev/null +++ b/pkgs/by-name/ki/kip/package.nix @@ -0,0 +1,98 @@ +{ + lib, + stdenv, + fetchFromGitLab, + arpa2cm, + arpa2common, + bison, + cacert, + cmake, + cyrus_sasl, + e2fsprogs, + flex, + freediameter, + gnutls, + json_c, + libev, + libkrb5, + libressl, + openssl, + pkg-config, + python3, + quick-sasl, + quickder, + quickmem, + unbound, + nix-update-script, +}: +let + python-with-packages = python3.withPackages ( + ps: with ps; [ + asn1ate + colored + pyparsing + setuptools + six + ] + ); +in +stdenv.mkDerivation (finalAttrs: { + pname = "kip"; + version = "0.15.0"; + + src = fetchFromGitLab { + owner = "arpa2"; + repo = "kip"; + tag = "v${finalAttrs.version}"; + hash = "sha256-A+tPaImjd9j1Vq69Dgh3j86xI/OcovwTZSULLkOVZaI="; + }; + + strictDeps = true; + __structuredAttrs = true; + + nativeBuildInputs = [ + bison + cacert + cmake + cyrus_sasl + flex + libkrb5 + openssl + pkg-config + ]; + + buildInputs = [ + arpa2cm + arpa2common + cyrus_sasl + e2fsprogs + freediameter + gnutls + json_c + libev + libkrb5 + libressl + python-with-packages + quick-sasl + quickder + quickmem + unbound + ]; + + cmakeFlags = [ + (lib.cmakeFeature "freeDiameter_EXTENSION_DIR" "${placeholder "out"}/lib/freeDiameter") + ]; + + preBuild = '' + patchShebangs test + ''; + + passthru.updateScript = nix-update-script { }; + + meta = { + description = "Keyful Identity Protocol — symmetric-key encryption and signing via an online KIP Service"; + homepage = "https://gitlab.com/arpa2/kip"; + license = lib.licenses.bsd2; + teams = with lib.teams; [ ngi ]; + }; +}) diff --git a/pkgs/by-name/ku/kubebuilder/package.nix b/pkgs/by-name/ku/kubebuilder/package.nix index 4c5c24a0f7cb..70db72337fe5 100644 --- a/pkgs/by-name/ku/kubebuilder/package.nix +++ b/pkgs/by-name/ku/kubebuilder/package.nix @@ -12,16 +12,16 @@ buildGoModule (finalAttrs: { pname = "kubebuilder"; - version = "4.13.1"; + version = "4.15.0"; src = fetchFromGitHub { owner = "kubernetes-sigs"; repo = "kubebuilder"; - rev = "v${finalAttrs.version}"; - hash = "sha256-WOqrQb2haoEp57OHFo1Y1fon0lJedI/hEYKE4xrIbpM="; + tag = "v${finalAttrs.version}"; + hash = "sha256-iTC5HY4E54YG+isSgW2515Kz83+khzANAml78z8EG88="; }; - vendorHash = "sha256-1lbf1hXJfhdTu6Gm7dcbJlB3beITxBD83gMltZgg7Pg="; + vendorHash = "sha256-7rXunagWkUWGL5v+xkmyLELwrIEuRVGPk4SK8/lotio="; subPackages = [ "internal/cli/cmd" @@ -69,6 +69,8 @@ buildGoModule (finalAttrs: { homepage = "https://github.com/kubernetes-sigs/kubebuilder"; changelog = "https://github.com/kubernetes-sigs/kubebuilder/releases/tag/v${finalAttrs.version}"; license = lib.licenses.asl20; - maintainers = [ ]; + maintainers = with lib.maintainers; [ + hythera + ]; }; }) diff --git a/pkgs/by-name/la/lagrange/package.nix b/pkgs/by-name/la/lagrange/package.nix index 639027de1d55..5c8ae4a47f52 100644 --- a/pkgs/by-name/la/lagrange/package.nix +++ b/pkgs/by-name/la/lagrange/package.nix @@ -22,13 +22,13 @@ stdenv.mkDerivation (finalAttrs: { pname = "lagrange"; - version = "1.20.8"; + version = "1.20.9"; src = fetchFromGitHub { owner = "skyjake"; repo = "lagrange"; tag = "v${finalAttrs.version}"; - hash = "sha256-f0LRvpu+e2KaKyTVBO9yJD9LnXRom0w/Ck5oxjF4cBU="; + hash = "sha256-2g5WJSb6qX1vbwuypYiGtrKK7lXtfgiaGaeapcLGDxE="; }; nativeBuildInputs = [ diff --git a/pkgs/by-name/le/lens/darwin.nix b/pkgs/by-name/le/lens/darwin.nix index 3acc21000c51..81d520d5fbd1 100644 --- a/pkgs/by-name/le/lens/darwin.nix +++ b/pkgs/by-name/le/lens/darwin.nix @@ -4,6 +4,7 @@ version, src, meta, + updateScript, undmg, }: @@ -29,4 +30,6 @@ stdenv.mkDerivation { ''; dontFixup = true; + + passthru = { inherit updateScript; }; } diff --git a/pkgs/by-name/le/lens/linux.nix b/pkgs/by-name/le/lens/linux.nix index e101ab53556c..81ed42f60958 100644 --- a/pkgs/by-name/le/lens/linux.nix +++ b/pkgs/by-name/le/lens/linux.nix @@ -3,6 +3,7 @@ version, src, meta, + updateScript, appimageTools, makeWrapper, }: @@ -21,6 +22,8 @@ appimageTools.wrapType2 { meta ; + passthru = { inherit updateScript; }; + nativeBuildInputs = [ makeWrapper ]; extraInstallCommands = '' diff --git a/pkgs/by-name/le/lens/package.nix b/pkgs/by-name/le/lens/package.nix index 6cbe93baffc1..dd955dbe67de 100644 --- a/pkgs/by-name/le/lens/package.nix +++ b/pkgs/by-name/le/lens/package.nix @@ -8,20 +8,20 @@ let pname = "lens-desktop"; - version = "2024.11.261604"; + version = "2026.6.260931"; sources = { x86_64-linux = { url = "https://api.k8slens.dev/binaries/Lens-${version}-latest.x86_64.AppImage"; - hash = "sha256-AbuEU5gOckVU+eDIFnomc7ryLq68ihuk3c0XosoJp74="; + hash = "sha512-P9PrtbGKaHNlzZsm10ovkYCBBfQpVWBgcVsYLETMwINP2bzrIIK5HVbkbcTEUsxK90L7MQmFwpAssojW0b9G5Q=="; }; x86_64-darwin = { url = "https://api.k8slens.dev/binaries/Lens-${version}-latest.dmg"; - hash = "sha256-MQQRGTCe+LEHXJi6zjnpENbtlWNP+XVH9rWXRMk+26w="; + hash = "sha512-I/i9s7O3jT+eNqqUu6B+rB+YbegKhAsZwHlc3mp2wNWW9YDilQbzKrhF9Fq2dSz2WKVZUscBtSGtXCuiPcFXzw=="; }; aarch64-darwin = { url = "https://api.k8slens.dev/binaries/Lens-${version}-latest-arm64.dmg"; - hash = "sha256-aakJCLnQBAnUdrrniTcahS+q3/kP09mlaPTV8FW5afI="; + hash = "sha512-eCE3w7NlYrHiexCirH2wFN0nOO3qAt5acbldXbDMVIrG94tbgM8Y5ZO8/YIUN45XbotYtKW8/Nw+WsrTp6DPBg=="; }; }; @@ -35,12 +35,15 @@ let license = lib.licenses.lens; maintainers = with lib.maintainers; [ dbirks + qweered RossComputerGuy starkca90 ]; platforms = builtins.attrNames sources; }; + updateScript = ./update.sh; + in if stdenv.hostPlatform.isDarwin then callPackage ./darwin.nix { @@ -49,6 +52,7 @@ if stdenv.hostPlatform.isDarwin then version src meta + updateScript ; } else @@ -58,5 +62,6 @@ else version src meta + updateScript ; } diff --git a/pkgs/by-name/le/lens/update.sh b/pkgs/by-name/le/lens/update.sh new file mode 100755 index 000000000000..12174d9799fc --- /dev/null +++ b/pkgs/by-name/le/lens/update.sh @@ -0,0 +1,37 @@ +#!/usr/bin/env nix-shell +#!nix-shell -i bash -p common-updater-scripts curl yq-go jq + +set -euo pipefail + +base="https://api.k8slens.dev/binaries" + +# Lens is built with electron-builder, which publishes an auto-update manifest +# next to each binary. These manifests carry both the latest version and the +# base64 sha512 digest of every artifact, so we can bump all platforms without +# downloading the (~250 MiB) images ourselves. +linux_manifest=$(curl -sfL "$base/latest-linux.yml" | yq -o=json) +mac_manifest=$(curl -sfL "$base/latest-mac.yml" | yq -o=json) + +# The manifest reports e.g. "2026.6.260931-latest"; the "-latest" suffix only +# lives in the download URL, so drop it from the Nix version. +version=$(jq -r '.version' <<<"$linux_manifest") +version=${version%-latest} + +# electron-builder records base64-encoded sha512 digests, which are already +# valid Nix SRI hashes once prefixed with "sha512-". Match artifacts by filename +# suffix (endswith) rather than a regex to keep jq's string escaping out of play. +manifest_hash() { + echo "sha512-$(jq -r --arg suffix "$1" '.files[] | select(.url | endswith($suffix)) | .sha512' <<<"$2" | head -n1)" +} + +appimage_hash=$(manifest_hash '.x86_64.AppImage' "$linux_manifest") +dmg_hash=$(manifest_hash '-latest.dmg' "$mac_manifest") +arm64_dmg_hash=$(manifest_hash '-arm64.dmg' "$mac_manifest") + +# The three platforms share one version but have distinct hashes. --system picks +# which source (and therefore which hash) update-source-version rewrites; passing +# the hash explicitly avoids a download. The version is written on the first call, +# so the darwin calls need --ignore-same-version to not early-exit as "unchanged". +update-source-version lens "$version" "$appimage_hash" --system=x86_64-linux +update-source-version lens "$version" "$dmg_hash" --system=x86_64-darwin --ignore-same-version +update-source-version lens "$version" "$arm64_dmg_hash" --system=aarch64-darwin --ignore-same-version diff --git a/pkgs/by-name/lf/lfk/package.nix b/pkgs/by-name/lf/lfk/package.nix index 044eccb276bd..f3de7966005c 100644 --- a/pkgs/by-name/lf/lfk/package.nix +++ b/pkgs/by-name/lf/lfk/package.nix @@ -6,17 +6,17 @@ buildGoModule (finalAttrs: { pname = "lfk"; - version = "0.10.2"; + version = "0.14.19"; __structuredAttrs = true; src = fetchFromGitHub { owner = "janosmiko"; repo = "lfk"; tag = "v${finalAttrs.version}"; - hash = "sha256-6H67d9zVdfsUhnsC4Hg6z3nm0w2//Q8oj1FZBR+a8SY="; + hash = "sha256-57bAYTU6/Fv7jbKK+RAbITECl4hYQzS2kkn7bytnW+Y="; }; - vendorHash = "sha256-GfJr3jtG+GhV7AHgM0EjPe+bFqdIRkHpjaylu753cGI="; + vendorHash = "sha256-WYx/eMArAsiyfEvrBZmTfK2ABxX2X1VQEtDCxC+UyP8="; ldflags = [ "-s" ]; diff --git a/pkgs/by-name/li/libgedit-gtksourceview/package.nix b/pkgs/by-name/li/libgedit-gtksourceview/package.nix index 21cc59c282a7..2d06a69c1866 100644 --- a/pkgs/by-name/li/libgedit-gtksourceview/package.nix +++ b/pkgs/by-name/li/libgedit-gtksourceview/package.nix @@ -19,7 +19,7 @@ stdenv.mkDerivation (finalAttrs: { pname = "libgedit-gtksourceview"; - version = "299.7.0"; + version = "299.7.1"; outputs = [ "out" @@ -34,7 +34,7 @@ stdenv.mkDerivation (finalAttrs: { repo = "libgedit-gtksourceview"; tag = finalAttrs.version; forceFetchGit = true; # To avoid occasional 501 failures. - hash = "sha256-CU9EO0oHfkdWPyicmIG6eaN+wUvvkUhrb6wgNosnm2Q="; + hash = "sha256-i+6Rfqm/KPJrLSvhvTVY53Q6O+LJEU9WjLJ/L3hMSUA="; }; patches = [ diff --git a/pkgs/by-name/li/libsemanage/package.nix b/pkgs/by-name/li/libsemanage/package.nix index c0423d7ef3e5..d37f651c1a29 100644 --- a/pkgs/by-name/li/libsemanage/package.nix +++ b/pkgs/by-name/li/libsemanage/package.nix @@ -16,12 +16,12 @@ stdenv.mkDerivation (finalAttrs: { pname = "libsemanage"; - version = "3.10"; + version = "3.11"; inherit (libsepol) se_url; src = fetchurl { url = "${finalAttrs.se_url}/${finalAttrs.version}/libsemanage-${finalAttrs.version}.tar.gz"; - hash = "sha256-GXiJTEFHaa13Q40miG6q4/t7t0V47ypa0xMMictcsf4="; + hash = "sha256-52FgKGu/sIIWAsbAwyIOvPNmrTJG07nQoPvvzTXoYEM="; }; outputs = [ diff --git a/pkgs/by-name/li/lightdm-slick-greeter/package.nix b/pkgs/by-name/li/lightdm-slick-greeter/package.nix index 364cf7824910..96805f89afc5 100644 --- a/pkgs/by-name/li/lightdm-slick-greeter/package.nix +++ b/pkgs/by-name/li/lightdm-slick-greeter/package.nix @@ -23,13 +23,13 @@ stdenv.mkDerivation (finalAttrs: { pname = "lightdm-slick-greeter"; - version = "2.2.6"; + version = "2.2.7"; src = fetchFromGitHub { owner = "linuxmint"; repo = "slick-greeter"; rev = finalAttrs.version; - hash = "sha256-zYjtd/Lb9ialq+pzOml4FMfPq9maX848Or6lzyZj4qs="; + hash = "sha256-WP4OsiTEmACDXq5xNbJNEm28vdA3PQ8IscGiyaeyvwk="; }; nativeBuildInputs = [ diff --git a/pkgs/by-name/li/lima/source.nix b/pkgs/by-name/li/lima/source.nix index cd33b5355531..2a214b36401a 100644 --- a/pkgs/by-name/li/lima/source.nix +++ b/pkgs/by-name/li/lima/source.nix @@ -4,7 +4,7 @@ }: let - version = "2.1.3"; + version = "2.1.4"; in { inherit version; @@ -13,7 +13,7 @@ in owner = "lima-vm"; repo = "lima"; tag = "v${version}"; - hash = "sha256-7hr89PApcxi/qoYZK8xPuGbhG95RfiYjkyVvZYIflyw="; + hash = "sha256-3vn557inLuV1DF0x8Fzc+OtLRAYKa7oE7s6x2S4gKSY="; }; vendorHash = "sha256-8AksUgle1SlWuALi553TlpZ2qwO+jMA1kZQke91fimU="; diff --git a/pkgs/by-name/li/listmonk/email-builder.nix b/pkgs/by-name/li/listmonk/email-builder.nix index a8c4718730e6..4b069365903e 100644 --- a/pkgs/by-name/li/listmonk/email-builder.nix +++ b/pkgs/by-name/li/listmonk/email-builder.nix @@ -17,7 +17,7 @@ stdenv.mkDerivation { offlineCache = fetchYarnDeps { yarnLock = "${src}/frontend/email-builder/yarn.lock"; - hash = "sha256-sFRmnMPStNp45hxcF+Iq1WhH6LtVFtgq2regq6MPzcc="; + hash = "sha256-ANPLOL9j0gljtNtbfb+ZifVRN9vLexPddAevpeFwX4o="; }; nativeBuildInputs = [ diff --git a/pkgs/by-name/li/listmonk/frontend.nix b/pkgs/by-name/li/listmonk/frontend.nix index 4fec2c272de4..cb82721de315 100644 --- a/pkgs/by-name/li/listmonk/frontend.nix +++ b/pkgs/by-name/li/listmonk/frontend.nix @@ -17,7 +17,7 @@ stdenv.mkDerivation (finalAttrs: { offlineCache = fetchYarnDeps { yarnLock = "${src}/frontend/yarn.lock"; - hash = "sha256-VCaEMftA7AzW/6jyceVO596iby0wC3LW9YDG66kLJmw="; + hash = "sha256-R2xHcHksTtFfFh41FLeBhpuz84ceixGt6oz6SQWWyMQ="; }; nativeBuildInputs = [ diff --git a/pkgs/by-name/li/listmonk/package.nix b/pkgs/by-name/li/listmonk/package.nix index 7fc3c88b6425..ed62aebb3996 100644 --- a/pkgs/by-name/li/listmonk/package.nix +++ b/pkgs/by-name/li/listmonk/package.nix @@ -11,16 +11,16 @@ buildGoModule (finalAttrs: { pname = "listmonk"; - version = "6.1.0"; + version = "6.2.0"; src = fetchFromGitHub { owner = "knadh"; repo = "listmonk"; rev = "v${finalAttrs.version}"; - hash = "sha256-SG9PhQOu3QB0LA9dNLnNzwwtfaib7MCfvOcBMkWMRPw="; + hash = "sha256-eora/+zJf60trmANEqAhYAQXfEMifyw5gLPKcqBW46w="; }; - vendorHash = "sha256-0KrjaExgT9tN4M99CfyQpqpGYnXOpzsPRk/Ih4qXsuE="; + vendorHash = "sha256-t4l8872bniTmNIW4ias1gImURJgrR6htXkncqfrJ+AU="; nativeBuildInputs = [ stuffbin diff --git a/pkgs/by-name/ma/mariadb-galera/package.nix b/pkgs/by-name/ma/mariadb-galera/package.nix index c85fdb37bc4a..c43cc4e04430 100644 --- a/pkgs/by-name/ma/mariadb-galera/package.nix +++ b/pkgs/by-name/ma/mariadb-galera/package.nix @@ -12,13 +12,13 @@ stdenv.mkDerivation (finalAttrs: { pname = "mariadb-galera"; - version = "26.4.24"; + version = "26.4.27"; src = fetchFromGitHub { owner = "codership"; repo = "galera"; tag = "release_${finalAttrs.version}"; - hash = "sha256-mpf+YY0m+UwvemdZt6SfRP9IJlq5IZtlOJMucADc1oM="; + hash = "sha256-Z1UtNM7HPcbFMr35JVJZCxPl43ZQxy+eBkiQFoVmFhY="; fetchSubmodules = true; }; diff --git a/pkgs/by-name/ma/mastodon/gemset.nix b/pkgs/by-name/ma/mastodon/gemset.nix index 9e0500f11092..d2e16e05e7fa 100644 --- a/pkgs/by-name/ma/mastodon/gemset.nix +++ b/pkgs/by-name/ma/mastodon/gemset.nix @@ -804,10 +804,10 @@ platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "0pfl5c0pyqaparxaqxi6s4gfl21bdldwiawrc0aknyvflli60lfw"; + sha256 = "15djj19ynz3sbw54fsf8n7y3sha8a333f2mgvjfwhr46jhcqg1ll"; type = "gem"; }; - version = "1.0.6"; + version = "1.0.7"; }; css_parser = { dependencies = [ @@ -2274,10 +2274,10 @@ platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "0v68nyl07xira30iyhn3118a4g59ar5748laq0cx2pwnsdy7ivrz"; + sha256 = "18g6ps30z6m365bly7sfialavnsf6m6qamdxsr84w96k51j4mnlb"; type = "gem"; }; - version = "1.8.1"; + version = "1.8.3"; }; multi_json = { groups = [ "default" ]; diff --git a/pkgs/by-name/ma/mastodon/source.nix b/pkgs/by-name/ma/mastodon/source.nix index dc6982dca446..7d292595b1b4 100644 --- a/pkgs/by-name/ma/mastodon/source.nix +++ b/pkgs/by-name/ma/mastodon/source.nix @@ -5,14 +5,14 @@ patches ? [ ], }: let - version = "4.6.2"; + version = "4.6.3"; in applyPatches { src = fetchFromGitHub { owner = "mastodon"; repo = "mastodon"; rev = "v${version}"; - hash = "sha256-RA9yGmWyzwiD/skPxOB27hqRxMqKGFmMMDOvHR5FjqI="; + hash = "sha256-NMeI8Ev0CSIf0dfbjqVAmFuTU9MFC8Y3qO9gI3p8Y+4="; passthru = { inherit version; yarnHash = "sha256-G1keSWDDpp0vBAOqQI8y8n7bmAeo9Hrdbo7R+cVZQwE="; diff --git a/pkgs/by-name/ma/mathematica/versions.nix b/pkgs/by-name/ma/mathematica/versions.nix index 67ae0e5d3086..5fbd2ecd61b0 100644 --- a/pkgs/by-name/ma/mathematica/versions.nix +++ b/pkgs/by-name/ma/mathematica/versions.nix @@ -4,6 +4,20 @@ nix --extra-experimental-features nix-command hash file */ [ + { + version = "15.0.0"; + lang = "en"; + language = "English"; + hash = "sha256-3xEWSCe4g8utJre7h6pr3uADh0VrDN+gh4Ye7eREyLw="; + installer = "Wolfram_15_LIN.sh"; + } + { + version = "15.0.0"; + lang = "en"; + language = "English"; + hash = "sha256-5GulP3FM7p/RBKJskVzywPGJMS90GNATpczcceKmUKo="; + installer = "Wolfram_15.sh"; + } { version = "14.3.0"; lang = "en"; diff --git a/pkgs/by-name/ma/mathjax/package.nix b/pkgs/by-name/ma/mathjax/package.nix index a7f6bc9c3590..7bedaa251fa7 100644 --- a/pkgs/by-name/ma/mathjax/package.nix +++ b/pkgs/by-name/ma/mathjax/package.nix @@ -5,13 +5,13 @@ }: stdenv.mkDerivation (finalAttrs: { pname = "mathjax"; - version = "4.1.2"; + version = "4.1.3"; src = fetchFromGitHub { owner = "mathjax"; repo = "mathjax"; tag = finalAttrs.version; - hash = "sha256-x4aRA1EDBpx/PmWF8YmWs1Le7yX/hJo0Egrhc/nrWsE="; + hash = "sha256-Vl4gh2GRnlLkTV1o41WV6WBccjr+bnbq6JPcHGwfKXQ="; }; installPhase = '' diff --git a/pkgs/by-name/ma/mattermost-desktop/package.nix b/pkgs/by-name/ma/mattermost-desktop/package.nix index 89dde4b56f85..df0057ea8468 100644 --- a/pkgs/by-name/ma/mattermost-desktop/package.nix +++ b/pkgs/by-name/ma/mattermost-desktop/package.nix @@ -2,7 +2,7 @@ lib, fetchFromGitHub, buildNpmPackage, - electron_40, + electron_41, makeWrapper, testers, mattermost-desktop, @@ -10,21 +10,21 @@ }: let - electron = electron_40; + electron = electron_41; in buildNpmPackage rec { pname = "mattermost-desktop"; - version = "6.1.2"; + version = "6.2.2"; src = fetchFromGitHub { owner = "mattermost"; repo = "desktop"; tag = "v${version}"; - hash = "sha256-EI1bDSiWdLCXlhUk1CmbUyYU7giey366cZLuhs0qtqY="; + hash = "sha256-KSyFJrYy+pueSrX20SPBoudWfiHmy5L2O8TdzLJRiYk="; }; - npmDepsHash = "sha256-7XUZ2rt2fZiQNpW8iHnNDbCSuK4/srWqIEKOKM6xty8="; + npmDepsHash = "sha256-70TBP4iDKuF4X9Tf0tsbUQ3N7bluoPn65OdfdcWin4Y="; npmBuildScript = "build-prod"; makeCacheWritable = true; @@ -47,7 +47,7 @@ buildNpmPackage rec { chmod -R u+w electron-dist npm exec electron-builder -- \ - --config electron-builder.json \ + --config electron-builder.ts \ --dir \ -c.electronDist=electron-dist \ -c.electronVersion=${electron.version} diff --git a/pkgs/by-name/ma/mattermost/package.nix b/pkgs/by-name/ma/mattermost/package.nix index d241c440c42a..077e35239ed7 100644 --- a/pkgs/by-name/ma/mattermost/package.nix +++ b/pkgs/by-name/ma/mattermost/package.nix @@ -35,6 +35,11 @@ ... }: +assert lib.warnIf (latestVersionInfo != null && (removeUserLimit || removeFreeBadge)) '' + The user limit and free badge patches are not tested with this Mattermost version + (${latestVersionInfo.version}). +'' true; + let /* Helper function that sets the `withTests` and `withoutTests` passthru correctly, diff --git a/pkgs/by-name/ma/mattermostLatest/package.nix b/pkgs/by-name/ma/mattermostLatest/package.nix index e0fd905a82d2..e98f1f7032b5 100644 --- a/pkgs/by-name/ma/mattermostLatest/package.nix +++ b/pkgs/by-name/ma/mattermostLatest/package.nix @@ -15,10 +15,10 @@ mattermost.override ( # and make sure the version regex is up to date here. # Ensure you also check ../mattermost/package.nix for ESR releases. regex = "^v(11\\.[0-9]+\\.[0-9]+)$"; - version = "11.8.1"; - srcHash = "sha256-9EIbTwnEeZQKg5uixkMp3sp/n+9I2N9W7hxsW5juF3M="; + version = "11.8.2"; + srcHash = "sha256-XZ4yr7nbGum6UQaBjze50L8Yc/MLjo4NQBh263CNRtI="; vendorHash = "sha256-F2QMrLbio7812ZTGQZZPTqHWtIXbwbDmjUhtvv0DJ9s="; - npmDepsHash = "sha256-9GRM0VXrh1eR16ocSGEV/F2eflOflzkhrhRRnm9uB6s="; + npmDepsHash = "sha256-WIPLpi6lQvq9wieqvOACiRh7v1znxzcf+jyKXSjWzNc="; autoUpdate = ./package.nix; }; } diff --git a/pkgs/by-name/mc/mcat-unwrapped/package.nix b/pkgs/by-name/mc/mcat-unwrapped/package.nix index 44cb06c81bae..08b15dc99396 100644 --- a/pkgs/by-name/mc/mcat-unwrapped/package.nix +++ b/pkgs/by-name/mc/mcat-unwrapped/package.nix @@ -9,16 +9,16 @@ }: rustPlatform.buildRustPackage (finalAttrs: { pname = "mcat-unwrapped"; - version = "0.6.1"; + version = "0.6.2"; src = fetchFromGitHub { owner = "Skardyy"; repo = "mcat"; tag = "v${finalAttrs.version}"; - hash = "sha256-zedVMX3JV0jHSUzSY3x9Olimy4Y6GrNVGRSc6Eev9ow="; + hash = "sha256-7QjnbdxUFeRDkIGnAcY2Wf8fLKuj1RuVbu0SUebOc5A="; }; - cargoHash = "sha256-szqXS2CRfHoCtt6Lq1DuVb199mIuf7HUPiN7fj5BGtc="; + cargoHash = "sha256-JnSycAz/jFs9JgA3tqYZn64yNK0bv5SXEYyUOXjC4ug="; nativeBuildInputs = [ installShellFiles diff --git a/pkgs/by-name/mc/mcp-gateway/package.nix b/pkgs/by-name/mc/mcp-gateway/package.nix index 582fb3a18536..4ab47070867b 100644 --- a/pkgs/by-name/mc/mcp-gateway/package.nix +++ b/pkgs/by-name/mc/mcp-gateway/package.nix @@ -7,16 +7,16 @@ rustPlatform.buildRustPackage (finalAttrs: { pname = "mcp-gateway"; - version = "2.19.0"; + version = "3.0.1"; src = fetchFromGitHub { owner = "MikkoParkkola"; repo = "mcp-gateway"; tag = "v${finalAttrs.version}"; - hash = "sha256-Rt2FoIBSFEA9Zgy27ZlVeVOgI3NF09FuPC+XW/WV8Ns="; + hash = "sha256-BtKPUKcZFu1ybnDmp9yme5/2/gzv1ASQ5E9G/QZClOc="; }; - cargoHash = "sha256-tMIsJkHxSNxwLkgoqVoSK1EFRgnhoCej7nAwcZcmLlQ="; + cargoHash = "sha256-hzx9qyqMk3kK8iCRYPtwGqXTQBaQUtt+l6KEn3KF1WE="; nativeInstallCheckInputs = [ versionCheckHook diff --git a/pkgs/by-name/md/mdfried/package.nix b/pkgs/by-name/md/mdfried/package.nix index c6ff3e1ca665..52eac913a73a 100644 --- a/pkgs/by-name/md/mdfried/package.nix +++ b/pkgs/by-name/md/mdfried/package.nix @@ -59,8 +59,10 @@ rustPlatform.buildRustPackage (finalAttrs: { libiconv ]; - CFLAGS_aarch64_apple_darwin = lib.optionalString stdenv.hostPlatform.isDarwin "-UTARGET_OS_MAC"; - CXXFLAGS_aarch64_apple_darwin = lib.optionalString stdenv.hostPlatform.isDarwin "-UTARGET_OS_MAC"; + env = lib.optionalAttrs stdenv.hostPlatform.isDarwin { + CFLAGS_aarch64_apple_darwin = "-UTARGET_OS_MAC"; + CXXFLAGS_aarch64_apple_darwin = "-UTARGET_OS_MAC"; + }; doCheck = true; diff --git a/pkgs/by-name/me/meilisearch/package.nix b/pkgs/by-name/me/meilisearch/package.nix index bc97b1b80576..079f4b68e1f5 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.48.2"; + version = "1.48.3"; src = fetchFromGitHub { owner = "meilisearch"; repo = "meilisearch"; tag = "v${finalAttrs.version}"; - hash = "sha256-qRs6U10fnCnGtzd6+GAExLnQ9v3pLT5/yxaAebKVJeY="; + hash = "sha256-Za5yhCPahJAZQhavhCwIqX6xhWa7l4sYRzhs+ozN94U="; }; cargoBuildFlags = [ "--package=meilisearch" ]; - cargoHash = "sha256-LJ/NtJ6PYR6rjT1mtGSPoCKmdeIiFUwF9SIHysfEn9w="; + cargoHash = "sha256-405b/puYbcIByE8nacJu8tjw5oh846c7UaCpWH4MpME="; # Default features include mini dashboard which downloads something from the internet. buildNoDefaultFeatures = true; diff --git a/pkgs/by-name/mo/modrinth-app-unwrapped/package.nix b/pkgs/by-name/mo/modrinth-app-unwrapped/package.nix index 6cb63b4bba03..287ed23699bb 100644 --- a/pkgs/by-name/mo/modrinth-app-unwrapped/package.nix +++ b/pkgs/by-name/mo/modrinth-app-unwrapped/package.nix @@ -31,13 +31,13 @@ in rustPlatform.buildRustPackage (finalAttrs: { pname = "modrinth-app-unwrapped"; - version = "0.14.8"; + version = "0.15.1"; src = fetchFromGitHub { owner = "modrinth"; repo = "code"; tag = "v${finalAttrs.version}"; - hash = "sha256-s34vmm0Apy20FrfSjESXtj+uggvr4ODpOrxfapAKtlc="; + hash = "sha256-kF808vT/CO1Aklv+P23GWdxSBqDshFphL8hx0PYSgQk="; }; patches = [ @@ -67,7 +67,7 @@ rustPlatform.buildRustPackage (finalAttrs: { --replace-fail '1.0.0-local' '${finalAttrs.version}' ''; - cargoHash = "sha256-JU8QhdDikqe9a/MXVe2jSsXATvwdgpyjWr7pV/75C9E="; + cargoHash = "sha256-GQmhyTGN+MItwQEVyZ5Ai0cowvOxp++THuSrXsrRG1A="; mitmCache = gradle.fetchDeps { inherit (finalAttrs) pname; diff --git a/pkgs/by-name/mo/monsoon/package.nix b/pkgs/by-name/mo/monsoon/package.nix index 8fc3576649c7..31491e9d175c 100644 --- a/pkgs/by-name/mo/monsoon/package.nix +++ b/pkgs/by-name/mo/monsoon/package.nix @@ -3,12 +3,16 @@ stdenv, buildGoModule, fetchFromGitHub, + versionCheckHook, + nix-update-script, }: buildGoModule (finalAttrs: { pname = "monsoon"; version = "0.10.1"; + __structuredAttrs = true; + src = fetchFromGitHub { owner = "RedTeamPentesting"; repo = "monsoon"; @@ -18,19 +22,32 @@ buildGoModule (finalAttrs: { vendorHash = "sha256-hGEUO1sl8IKXo4rkS81Wlf7187lu2PrSujNlGNTLwmE="; + ldflags = [ + "-s" + "-X=main.version=v${finalAttrs.version}" + ]; + + nativeInstallCheckInputs = [ versionCheckHook ]; + + doInstallCheck = true; + + versionCheckProgramArg = [ "version" ]; + # Tests fails on darwin doCheck = !stdenv.hostPlatform.isDarwin; + passthru.updateScript = nix-update-script { }; + meta = { description = "Fast HTTP enumerator"; - mainProgram = "monsoon"; longDescription = '' A fast HTTP enumerator that allows you to execute a large number of HTTP requests, filter the responses and display them in real-time. ''; homepage = "https://github.com/RedTeamPentesting/monsoon"; - changelog = "https://github.com/RedTeamPentesting/monsoon/releases/tag/v${finalAttrs.version}"; + changelog = "https://github.com/RedTeamPentesting/monsoon/releases/tag/v${finalAttrs.src.tag}"; license = lib.licenses.mit; maintainers = with lib.maintainers; [ fab ]; + mainProgram = "monsoon"; }; }) diff --git a/pkgs/by-name/mu/murmure/package.nix b/pkgs/by-name/mu/murmure/package.nix index 900e2d806e2a..8f7e93a5a90b 100644 --- a/pkgs/by-name/mu/murmure/package.nix +++ b/pkgs/by-name/mu/murmure/package.nix @@ -45,7 +45,7 @@ let in rustPlatform.buildRustPackage (finalAttrs: { pname = "murmure"; - version = "1.9.0"; + version = "1.10.0"; __structuredAttrs = true; @@ -53,7 +53,7 @@ rustPlatform.buildRustPackage (finalAttrs: { owner = "Kieirra"; repo = "murmure"; tag = finalAttrs.version; - hash = "sha256-Yh1XWpwTKrYIPhbOqi0XGfqV+kVB/QVXX4y7Hb+iqrM="; + hash = "sha256-zJ9OvpAfREyDWDISKYKCUyQSWdkQlVrSzX+wvwKk6Yk="; }; # The libappindicator_sys crate loads these libraries at runtime @@ -71,13 +71,13 @@ rustPlatform.buildRustPackage (finalAttrs: { src ; fetcherVersion = 3; - hash = "sha256-Jtd+sxpievLyNozMJW6JAHQEKA6UVPvgLEB/3Q2Pl/s="; + hash = "sha256-BPukv+nFcXncEwRvBd5JEmUNsX3JIXYldbaOGXakhJA="; }; cargoRoot = "src-tauri"; buildAndTestSubdir = finalAttrs.cargoRoot; - cargoHash = "sha256-PRp04YHkifhFY9W03IQDu9Dd8y05zd4d9o8CDySf+Nw="; + cargoHash = "sha256-wV0drkKgn58Yxjy+Mv2QLTQXTDwWk6/uEfk76HaMuow="; env.OPENSSL_NO_VENDOR = true; diff --git a/pkgs/by-name/na/nano-syntax-highlighting/package.nix b/pkgs/by-name/na/nano-syntax-highlighting/package.nix index 4c0d776c56bb..e104b6af9a86 100644 --- a/pkgs/by-name/na/nano-syntax-highlighting/package.nix +++ b/pkgs/by-name/na/nano-syntax-highlighting/package.nix @@ -10,13 +10,13 @@ }: stdenv.mkDerivation (finalAttrs: rec { pname = "nano-syntax-highlighting"; - version = "2026.05.01"; + version = "2026.07.01"; src = fetchFromGitHub { owner = "galenguyer"; repo = "nano-syntax-highlighting"; tag = version; - hash = "sha256-ipnePkQEDfJ7T3GJ84D6bmo9KZ2AUkJ8aUqH0rPCsps="; + hash = "sha256-tcRNoeg0j/z9wFZjIc1CJXOKieWrvlLq9pblB0kE6yc="; }; dontBuild = true; diff --git a/pkgs/by-name/ne/neowall/package.nix b/pkgs/by-name/ne/neowall/package.nix index 597a9d694396..a962a297ce4f 100644 --- a/pkgs/by-name/ne/neowall/package.nix +++ b/pkgs/by-name/ne/neowall/package.nix @@ -18,13 +18,13 @@ stdenv.mkDerivation (finalAttrs: { pname = "neowall"; - version = "0.5.0"; + version = "0.5.1"; src = fetchFromGitHub { owner = "1ay1"; repo = "neowall"; tag = "v${finalAttrs.version}"; - hash = "sha256-hmfHcKXDmMHlFlaODo+BrbHUyx9BHn9BiCbPDp5CMG0="; + hash = "sha256-NntwAm4LmGEcAJEp9W+y0mosn+jZXwatTp4ftMqcpSo="; }; nativeBuildInputs = [ diff --git a/pkgs/by-name/ne/nerva/package.nix b/pkgs/by-name/ne/nerva/package.nix index eb5599180716..45f27e67e084 100644 --- a/pkgs/by-name/ne/nerva/package.nix +++ b/pkgs/by-name/ne/nerva/package.nix @@ -6,13 +6,13 @@ buildGoModule (finalAttrs: { pname = "nerva"; - version = "1.36.0"; + version = "1.37.0"; src = fetchFromGitHub { owner = "praetorian-inc"; repo = "nerva"; tag = "v${finalAttrs.version}"; - hash = "sha256-akGiZ5KolHOzZddgAYA3zWcFG0VSqHe6cFiB6AvRyhg="; + hash = "sha256-8naI5r/nmzQKHfub0Yv3uhx1MAh4VCSnsTY/n4BOX5U="; }; vendorHash = "sha256-Z0MSD+1/1VzrJ+pz5x0JvxrCxtJe59ckaTqHK/+TVN8="; diff --git a/pkgs/by-name/ne/netbird/package.nix b/pkgs/by-name/ne/netbird/package.nix index 55919ad5b4cd..1f342526688d 100644 --- a/pkgs/by-name/ne/netbird/package.nix +++ b/pkgs/by-name/ne/netbird/package.nix @@ -73,13 +73,13 @@ let in buildGoModule (finalAttrs: { pname = "netbird-${componentName}"; - version = "0.74.0"; + version = "0.74.2"; src = fetchFromGitHub { owner = "netbirdio"; repo = "netbird"; tag = "v${finalAttrs.version}"; - hash = "sha256-lichQPWqlphUjod3nsqJokDFIIEiwIykc9fWjSn5fzs="; + hash = "sha256-+BGWZzw6a8Fp8NlhtbX81OA3hCTcQ9r6nLuXTsbXCZ8="; }; overrideModAttrs = final: prev: { diff --git a/pkgs/by-name/ne/netbox_4_5/plugins/netbox-documents/package.nix b/pkgs/by-name/ne/netbox_4_5/plugins/netbox-documents/package.nix index 393cf1ab3b6e..3ecc5ebc286e 100644 --- a/pkgs/by-name/ne/netbox_4_5/plugins/netbox-documents/package.nix +++ b/pkgs/by-name/ne/netbox_4_5/plugins/netbox-documents/package.nix @@ -10,7 +10,7 @@ buildPythonPackage (finalAttrs: { pname = "netbox-documents"; - version = "0.8.2"; + version = "0.8.4"; pyproject = true; __structuredAttrs = true; @@ -18,7 +18,7 @@ buildPythonPackage (finalAttrs: { owner = "jasonyates"; repo = "netbox-documents"; tag = "v${finalAttrs.version}"; - hash = "sha256-XFVfNLU9a/0tQAVTrN2B1Oia/isOD8G5BdA3fVUn2sM="; + hash = "sha256-6t7r/98UILL73JT1TwUBAqygQOtOWj1s1bY7IbRcUKQ="; }; build-system = [ setuptools ]; diff --git a/pkgs/by-name/ni/nixos-render-docs/src/nixos_render_docs/html.py b/pkgs/by-name/ni/nixos-render-docs/src/nixos_render_docs/html.py index 3e4ff1aedb7a..5944431d4680 100644 --- a/pkgs/by-name/ni/nixos-render-docs/src/nixos_render_docs/html.py +++ b/pkgs/by-name/ni/nixos-render-docs/src/nixos_render_docs/html.py @@ -1,12 +1,13 @@ from collections.abc import Mapping, Sequence -from typing import cast, Optional, NamedTuple - from html import escape +from typing import NamedTuple, Optional, cast + from markdown_it.token import Token from .manual_structure import XrefTarget from .md import Renderer + class UnresolvedXrefError(Exception): pass @@ -17,9 +18,6 @@ class Heading(NamedTuple): # special handling for part content: whether partinfo div was already closed from # elsewhere or still needs closing. partintro_closed: bool - # tocs are generated when the heading opens, but have to be emitted into the file - # after the heading titlepage (and maybe partinfo) has been closed. - toc_fragment: str _bullet_list_styles = [ 'disc', 'circle', 'square' ] _ordered_list_styles = [ '1', 'a', 'i', 'A', 'I' ] @@ -29,7 +27,6 @@ class HTMLRenderer(Renderer): _headings: list[Heading] _attrspans: list[str] - _hlevel_offset: int = 0 _bullet_list_nesting: int = 0 _ordered_list_nesting: int = 0 @@ -185,8 +182,7 @@ class HTMLRenderer(Renderer): anchor = f'id="{escape(anchor, True)}"' result = self._close_headings(hlevel) tag = self._heading_tag(token, tokens, i) - toc_fragment = self._build_toc(tokens, i) - self._headings.append(Heading(tag, hlevel, htag, tag != 'part', toc_fragment)) + self._headings.append(Heading(tag, hlevel, htag, tag != 'part')) return ( f'{result}' f'
' @@ -205,8 +201,6 @@ class HTMLRenderer(Renderer): ) if heading.container_tag == 'part': result += '
' - else: - result += heading.toc_fragment return result def ordered_list_open(self, token: Token, tokens: Sequence[Token], i: int) -> str: extra = 'compact' if token.meta.get('compact', False) else '' @@ -329,14 +323,14 @@ class HTMLRenderer(Renderer): ) def _make_hN(self, level: int) -> tuple[str, str]: - return f"h{min(6, max(1, level + self._hlevel_offset))}", "" + return f"h{min(6, max(1, level))}", "" def _maybe_close_partintro(self) -> str: if self._headings: heading = self._headings[-1] if heading.container_tag == 'part' and not heading.partintro_closed: self._headings[-1] = heading._replace(partintro_closed=True) - return heading.toc_fragment + "
" + return "
" return "" def _close_headings(self, level: Optional[int]) -> str: @@ -349,5 +343,3 @@ class HTMLRenderer(Renderer): def _heading_tag(self, token: Token, tokens: Sequence[Token], i: int) -> str: return "section" - def _build_toc(self, tokens: Sequence[Token], i: int) -> str: - return "" diff --git a/pkgs/by-name/ni/nixos-render-docs/src/nixos_render_docs/manual.py b/pkgs/by-name/ni/nixos-render-docs/src/nixos_render_docs/manual.py index 9208148c594b..a0b9beabc617 100644 --- a/pkgs/by-name/ni/nixos-render-docs/src/nixos_render_docs/manual.py +++ b/pkgs/by-name/ni/nixos-render-docs/src/nixos_render_docs/manual.py @@ -4,21 +4,29 @@ import html import json import re import xml.sax.saxutils as xml - from abc import abstractmethod from collections.abc import Mapping, Sequence from pathlib import Path -from typing import Any, Callable, cast, ClassVar, Generic, get_args, NamedTuple +from typing import Any, Callable, ClassVar, Generic, NamedTuple, cast, get_args from markdown_it.token import Token from . import md, options from .html import HTMLRenderer, UnresolvedXrefError -from .manual_structure import check_structure, FragmentType, is_include, make_xml_id, TocEntry, TocEntryType, XrefTarget +from .manual_structure import ( + FragmentType, + TocEntry, + TocEntryType, + XrefTarget, + check_structure, + is_include, + make_xml_id, +) from .md import Converter, Renderer from .redirects import Redirects from .src_error import SrcError + class BaseConverter(Converter[md.TR], Generic[md.TR]): # per-converter configuration for ns:arg=value arguments to include blocks, following # the include type. html converters need something like this to support chunking, or @@ -253,13 +261,10 @@ class HTMLParameters(NamedTuple): generator: str stylesheets: Sequence[str] scripts: Sequence[str] - # number of levels in the rendered table of contents. tables are prepended to - # the content they apply to (entire document / document chunk / top-level section - # of a chapter), setting a depth of 0 omits the respective table. - toc_depth: int - chunk_toc_depth: int - section_toc_depth: int + # structural depth of the navigation sidebar tree + sidebar_depth: int media_dir: Path + sidebar_open: frozenset[str] = frozenset() class ManualHTMLRenderer(RendererMixin, HTMLRenderer): _base_path: Path @@ -289,14 +294,13 @@ class ManualHTMLRenderer(RendererMixin, HTMLRenderer): target_path.write_bytes(content) return f"./{self._html_params.media_dir}/{target_name}" - def _push(self, tag: str, hlevel_offset: int) -> Any: - result = (self._toplevel_tag, self._headings, self._attrspans, self._hlevel_offset, self._in_dir) - self._hlevel_offset += hlevel_offset + def _push(self, tag: str) -> Any: + result = (self._toplevel_tag, self._headings, self._attrspans, self._in_dir) self._toplevel_tag, self._headings, self._attrspans = tag, [], [] return result def _pop(self, state: Any) -> None: - (self._toplevel_tag, self._headings, self._attrspans, self._hlevel_offset, self._in_dir) = state + (self._toplevel_tag, self._headings, self._attrspans, self._in_dir) = state def _render_book(self, tokens: Sequence[Token]) -> str: assert tokens[4].children @@ -307,7 +311,7 @@ class ManualHTMLRenderer(RendererMixin, HTMLRenderer): toc = TocEntry.of(tokens[0]) return "\n".join([ - self._file_header(toc, sidebar=self._build_toc(tokens, 0)), + self._file_header(toc, sidebar=self._build_sidebar(toc)), '
', '
', '
', @@ -364,6 +368,20 @@ class ManualHTMLRenderer(RendererMixin, HTMLRenderer): file.write(self._redirects.get_redirect_script(toc.target.path)) scripts.append(f'./{redirects_name}') + # Register a close handler + # Without this the popover can still be closed by clicking outside of it + # It handles auto-closing when the user clicks a href. + close_menu_js = """ + document.addEventListener("DOMContentLoaded", () => { + const nav = document.getElementById("manual-toc"); + nav?.addEventListener("click", (e) => { + if (e.target.closest("a[href]") && nav.matches(":popover-open")) { + nav.hidePopover(); + } + }); + }); + """ + return "\n".join([ '', '' for script in scripts)), + f"", f' ', f' ' if home.target.href() else "", f' {up_link}{prev_link}{next_link}', ' ', ' ', + # See: https://developer.mozilla.org/en-US/docs/Web/API/Popover_API + # Supported by most browsers since 2023, full support since Jan 2025 + (' ') if sidebar else "", nav_html, - f' ' if sidebar else "", + f' ' if sidebar else "", '
', ]) @@ -434,103 +458,59 @@ class ManualHTMLRenderer(RendererMixin, HTMLRenderer): if token.tag == 'h1': return self._toplevel_tag return super()._heading_tag(token, tokens, i) - def _build_toc(self, tokens: Sequence[Token], i: int) -> str: - toc = TocEntry.of(tokens[i]) - if toc.kind == 'section' and self._html_params.section_toc_depth < 1: - return "" - def walk_and_emit(toc: TocEntry, depth: int) -> list[str]: - if depth <= 0: - return [] - result = [] - for child in toc.children: - result.append( - f'
' - f' ' - f' {child.target.toc_html}' - f' ' - f'
' - ) - # we want to look straight through parts because docbook-xsl did too, but it - # also makes for more uesful top-level tocs. - next_level = walk_and_emit(child, depth - (0 if child.kind == 'part' else 1)) - if next_level: - result.append(f'
{"".join(next_level)}
') - return result + def _build_sidebar(self, toc: TocEntry) -> str: + root = toc.root + def render_entries(entries: Sequence[TocEntry], budget: int) -> str: + items: list[str] = [] + for e in entries: + # 'part' are structural containers we look straight through, so + # they do not consume a depth level + child_budget = budget if e.kind == 'part' else budget - 1 + children = (render_entries(e.children, child_budget) + if e.children and child_budget > 0 else "") + link = f'{e.target.toc_html}' + cls = html.escape(e.kind, True) + if children: + open_attr = " open" if e.target.id in self._html_params.sidebar_open else "" + items.append( + f'
  • ' + f'{link}{children}' + '
  • ' + ) + else: + items.append(f'
  • {link}
  • ') + return f'
      {"".join(items)}
    ' if items else "" def build_list(kind: str, id: str, lst: Sequence[TocEntry]) -> str: if not lst: return "" - entries = [ - f'
    {i}. {e.target.toc_html}
    ' - for i, e in enumerate(lst, start=1) - ] + entries = "".join( + f'
  • {e.target.toc_html}
  • ' + for e in lst + ) return ( f'
    ' f'

    List of {kind}

    ' - f'
    {"".join(entries)}
    ' + f'
      {entries}
    ' '
    ' ) - # we don't want to generate the "Title of Contents" header for sections, - # docbook didn't and it's only distracting clutter unless it's the main table. - # we also want to generate tocs only for a top-level section (ie, one that is - # not itself contained in another section) - print_title = toc.kind != 'section' - if toc.kind == 'section': - if toc.parent and toc.parent.kind == 'section': - toc_depth = 0 - else: - toc_depth = self._html_params.section_toc_depth - elif toc.starts_new_chunk and toc.kind != 'book': - toc_depth = self._html_params.chunk_toc_depth - else: - toc_depth = self._html_params.toc_depth - if not (items := walk_and_emit(toc, toc_depth)): - return "" - figures = build_list("Figures", "list-of-figures", toc.figures) - examples = build_list("Examples", "list-of-examples", toc.examples) - return "".join([ - f'
    ', - '

    Table of Contents

    ' if print_title else "", - f'
    ' - f' {"".join(items)}' - f'
    ' - f'
    ' - f'{figures}' - f'{examples}' - ]) + nav = render_entries(root.children, self._html_params.sidebar_depth) + return f'{nav}' def _make_hN(self, level: int) -> tuple[str, str]: - # for some reason chapters didn't increase the hN nesting count in docbook xslts. - # originally this was duplicated here for consistency with docbook rendering, but - # it could be reevaluated and changed now that docbook is gone. - if self._toplevel_tag == 'chapter': - level -= 1 - # this style setting is also for docbook compatibility only and could well go away. - style = "" - if level + self._hlevel_offset < 3 \ - and (self._toplevel_tag == 'section' or (self._toplevel_tag == 'chapter' and level > 0)): - style = "clear: both" - tag, hstyle = super()._make_hN(max(1, level)) - return tag, style + # book heading := h1 + # Everything else is h2 ... h6 + return super()._make_hN(level + 1) def _included_thing(self, tag: str, token: Token, tokens: Sequence[Token], i: int) -> str: outer, inner = [], [] - # since books have no non-include content the toplevel book wrapper will not count - # towards nesting depth. other types will have at least a title+id heading which - # *does* count towards the nesting depth. chapters give a -1 to included sections - # mirroring the special handing in _make_hN. sigh. - hoffset = ( - 0 if not self._headings - else self._headings[-1].level - 1 if self._toplevel_tag == 'chapter' - else self._headings[-1].level - ) outer.append(self._maybe_close_partintro()) into = token.meta['include-args'].get('into-file') fragments = token.meta['included'] - state = self._push(tag, hoffset) + state = self._push(tag) if into: toc = TocEntry.of(fragments[0][0][0]) - inner.append(self._file_header(toc)) - # we do not set _hlevel_offset=0 because docbook didn't either. + # chunk pages carry the same whole-book sidebar as the main page. + inner.append(self._file_header(toc, sidebar=self._build_sidebar(toc))) else: inner = outer in_dir = self._in_dir @@ -755,21 +735,36 @@ class HTMLConverter(BaseConverter[ManualHTMLRenderer]): server_redirects_file.write("\n".join(formatted_server_redirects)) +class _DeprecatedDepthFlag(argparse.Action): + def __call__(self, parser: argparse.ArgumentParser, namespace: argparse.Namespace, + values: Any, option_string: str | None = None) -> None: + parser.error(f"{option_string} has been removed, use --sidebar-depth instead") + def _build_cli_html(p: argparse.ArgumentParser) -> None: p.add_argument('--manpage-urls', required=True) p.add_argument('--revision', required=True) p.add_argument('--generator', default='nixos-render-docs') p.add_argument('--stylesheet', default=[], action='append') p.add_argument('--script', default=[], action='append') - p.add_argument('--toc-depth', default=1, type=int) - p.add_argument('--chunk-toc-depth', default=1, type=int) - p.add_argument('--section-toc-depth', default=0, type=int) p.add_argument('--media-dir', default="media", type=Path) p.add_argument('--redirects', type=Path) + p.add_argument('--sidebar-depth', default=2, type=int) + # nav metadata (JSON): {"open": ["anchor-id", ...]} selects which sidebar + # entries render expanded; omitted or absent means everything is collapsed. + p.add_argument('--nav', type=Path) + # Deprecated flags, + p.add_argument('--toc-depth', nargs='?', action=_DeprecatedDepthFlag, default=None) + p.add_argument('--chunk-toc-depth', nargs='?', action=_DeprecatedDepthFlag, default=None) + p.add_argument('--section-toc-depth', nargs='?', action=_DeprecatedDepthFlag, default=None) + # Positional p.add_argument('infile', type=Path) p.add_argument('outfile', type=Path) def _run_cli_html(args: argparse.Namespace) -> None: + sidebar_open: frozenset[str] = frozenset() + if args.nav: + with open(args.nav) as nav_file: + sidebar_open = frozenset(json.load(nav_file).get("open", [])) with open(args.manpage_urls) as manpage_urls, open(Path(__file__).parent / "redirects.js") as redirects_script: redirects = None if args.redirects: @@ -778,8 +773,8 @@ def _run_cli_html(args: argparse.Namespace) -> None: md = HTMLConverter( args.revision, - HTMLParameters(args.generator, args.stylesheet, args.script, args.toc_depth, - args.chunk_toc_depth, args.section_toc_depth, args.media_dir), + HTMLParameters(args.generator, args.stylesheet, args.script, + args.sidebar_depth, args.media_dir, sidebar_open), json.load(manpage_urls), redirects) md.convert(args.infile, args.outfile) diff --git a/pkgs/by-name/ni/nixos-render-docs/src/nixos_render_docs/manual_structure.py b/pkgs/by-name/ni/nixos-render-docs/src/nixos_render_docs/manual_structure.py index 64effecb88f5..859ff5197d17 100644 --- a/pkgs/by-name/ni/nixos-render-docs/src/nixos_render_docs/manual_structure.py +++ b/pkgs/by-name/ni/nixos-render-docs/src/nixos_render_docs/manual_structure.py @@ -3,13 +3,12 @@ from __future__ import annotations import dataclasses as dc import html import itertools - -from typing import cast, get_args, Iterable, Literal, Sequence +from typing import Iterable, Literal, Sequence, cast, get_args from markdown_it.token import Token -from .utils import Freezeable from .src_error import SrcError +from .utils import Freezeable # FragmentType is used to restrict structural include blocks. FragmentType = Literal['preface', 'part', 'chapter', 'section', 'appendix'] @@ -146,8 +145,6 @@ class TocEntry(Freezeable): next: TocEntry | None = None children: list[TocEntry] = dc.field(default_factory=list) starts_new_chunk: bool = False - examples: list[TocEntry] = dc.field(default_factory=list) - figures: list[TocEntry] = dc.field(default_factory=list) @property def root(self) -> TocEntry: @@ -162,7 +159,7 @@ class TocEntry(Freezeable): @classmethod def collect_and_link(cls, xrefs: dict[str, XrefTarget], tokens: Sequence[Token]) -> TocEntry: - entries, examples, figures = cls._collect_entries(xrefs, tokens, 'book') + entries = cls._collect_entries(xrefs, tokens, 'book') def flatten_with_parent(this: TocEntry, parent: TocEntry | None) -> Iterable[TocEntry]: this.parent = parent @@ -179,9 +176,6 @@ class TocEntry(Freezeable): prev = c paths_seen.add(c.target.path) - flat[0].examples = examples - flat[0].figures = figures - for c in flat: c.freeze() @@ -189,37 +183,30 @@ class TocEntry(Freezeable): @classmethod def _collect_entries(cls, xrefs: dict[str, XrefTarget], tokens: Sequence[Token], - kind: TocEntryType) -> tuple[TocEntry, list[TocEntry], list[TocEntry]]: + kind: TocEntryType) -> TocEntry: # we assume that check_structure has been run recursively over the entire input. # list contains (tag, entry) pairs that will collapse to a single entry for # the full sequence. entries: list[tuple[str, TocEntry]] = [] - examples: list[TocEntry] = [] - figures: list[TocEntry] = [] for token in tokens: if token.type.startswith('included_') and (included := token.meta.get('included')): fragment_type_str = token.type[9:].removesuffix('s') assert fragment_type_str in get_args(TocEntryType) fragment_type = cast(TocEntryType, fragment_type_str) for fragment, _path in included: - subentries, subexamples, subfigures = cls._collect_entries(xrefs, fragment, fragment_type) + subentries = cls._collect_entries(xrefs, fragment, fragment_type) entries[-1][1].children.append(subentries) - examples += subexamples - figures += subfigures elif token.type == 'heading_open' and (id := cast(str, token.attrs.get('id', ''))): while len(entries) > 1 and entries[-1][0] >= token.tag: entries[-2][1].children.append(entries.pop()[1]) entries.append((token.tag, TocEntry(kind if token.tag == 'h1' else 'section', xrefs[id]))) token.meta['TocEntry'] = entries[-1][1] - elif token.type == 'example_open' and (id := cast(str, token.attrs.get('id', ''))): - examples.append(TocEntry('example', xrefs[id])) - elif token.type == 'figure_open' and (id := cast(str, token.attrs.get('id', ''))): - figures.append(TocEntry('figure', xrefs[id])) + while len(entries) > 1: entries[-2][1].children.append(entries.pop()[1]) - return (entries[0][1], examples, figures) + return entries[0][1] _xml_id_translate_table = { ord('*'): ord('_'), diff --git a/pkgs/by-name/ni/nixos-render-docs/src/tests/test_auto_id_prefix.py b/pkgs/by-name/ni/nixos-render-docs/src/tests/test_auto_id_prefix.py index 6fb706bad5ac..fce017fc70ba 100644 --- a/pkgs/by-name/ni/nixos-render-docs/src/tests/test_auto_id_prefix.py +++ b/pkgs/by-name/ni/nixos-render-docs/src/tests/test_auto_id_prefix.py @@ -10,7 +10,7 @@ def set_prefix(token: Token, ident: str) -> None: def test_auto_id_prefix_simple() -> None: - md = HTMLConverter("1.0.0", HTMLParameters("", [], [], 2, 2, 2, Path("")), {}) + md = HTMLConverter("1.0.0", HTMLParameters("", [], [], 2, Path("")), {}) src = f""" # title @@ -31,7 +31,7 @@ def test_auto_id_prefix_simple() -> None: def test_auto_id_prefix_repeated() -> None: - md = HTMLConverter("1.0.0", HTMLParameters("", [], [], 2, 2, 2, Path("")), {}) + md = HTMLConverter("1.0.0", HTMLParameters("", [], [], 2, Path("")), {}) src = f""" # title @@ -57,7 +57,7 @@ def test_auto_id_prefix_repeated() -> None: ] def test_auto_id_prefix_maximum_nested() -> None: - md = HTMLConverter("1.0.0", HTMLParameters("", [], [], 2, 2, 2, Path("")), {}) + md = HTMLConverter("1.0.0", HTMLParameters("", [], [], 2, Path("")), {}) src = f""" # h1 diff --git a/pkgs/by-name/ni/nixos-render-docs/src/tests/test_manual.py b/pkgs/by-name/ni/nixos-render-docs/src/tests/test_manual.py new file mode 100644 index 000000000000..14f7024ce186 --- /dev/null +++ b/pkgs/by-name/ni/nixos-render-docs/src/tests/test_manual.py @@ -0,0 +1,124 @@ +from pathlib import Path + +from nixos_render_docs.manual import HTMLConverter, HTMLParameters + + +def _build(tmp_path: Path, sidebar_depth: int = 2, sidebar_open: frozenset[str] = frozenset()) -> str: + (tmp_path / "part.md").write_text( + "# Build helpers {#part-builders}\n\n" # -> h2 + "```{=include=} chapters\nchapter.md\n```\n" + ) + (tmp_path / "chapter.md").write_text( + "# Fixed-point arguments {#chap-fpa}\n\n" # -> h2 + "Intro.\n\n" + "## First section {#sec-first}\n\n" # -> h3 + "Body.\n\n" + "### A subsection {#sub-a}\n\n" + "Deep.\n\n" + "#### Deeper {#d4}\n\n" + "More.\n\n" + "##### Deepest {#d5}\n\n" + "Most.\n" + ) + (tmp_path / "index.md").write_text( + "# Test manual {#book-test}\n\n" # -> h1 (book title) + "## Version 1\n\n" # -> h2 + "```{=include=} parts\npart.md\n```\n" + ) + out = tmp_path / "out" + out.mkdir(exist_ok=True) + conv = HTMLConverter( + "1.0.0", + HTMLParameters("test-gen", [], [], sidebar_depth, Path("media"), sidebar_open), + {}, + ) + conv.convert(tmp_path / "index.md", out / "index.html") + return (out / "index.html").read_text() + + +def test_single_h1_and_flat_heading_levels(tmp_path: Path) -> None: + html = _build(tmp_path) + # There should be only one h1 on an html for acessibility and semantic reasons + assert html.count("' in html + assert '

    None: + html = _build(tmp_path) + assert '