Home Explore Blog CI



nixpkgs

13th chunk of `doc/release-notes/rl-2505.section.md`
01c916ded31b7126c47eeb77bf14613fa5d20d317baea6370000000100001004
- `octave` (and `octaveFull`) was updated to version `10.x`. The update broke a few `octavePackages`, and `librsb`. See [the PR's commits](https://github.com/NixOS/nixpkgs/pull/394495/commits) for more details.

- androidenv has been improved:
  - All versions specified in composeAndroidPackages now track the latest. Android packages are automatically updated on unstable, and run the androidenv test suite on every update.
  - Many androidenv packages are now searchable on [search.nixos.org](https://search.nixos.org).
  - We now use the latest Google repositories, which should improve aarch64-darwin compatibility. The SDK now additionally evaluates on aarch64-linux, though not all packages are functional.

- `dwarf-fortress` audio now works again. Additionally, the `dfhack` and `dwarf-fortress-full` packages are now exposed at toplevel, making it easier to install and play Dwarf Fortress. Note that `dwarf-fortress-full` is the Nixpkgs equivalent of the Dwarf Fortress Lazy Pack.

- `gerbera` now has wavpack support.

- `buildPythonPackage`, `buildPythonApplication` and the Python building setup hooks now support both `__structuredAttrs = true` and `__structuredAttrs = false`.

- `buildGoModule` now supports a self-referencing `finalAttrs:` parameter
  containing the final arguments including overrides.
  This allows packaging configuration to be overridden in a consistent manner by
  providing an alternative to `rec {}` syntax.

- Caddy can now be built with plugins by using `caddy.withPlugins`, a `passthru` function that accepts an attribute set as a parameter. The `plugins` argument represents a list of Caddy plugins, with each Caddy plugin being a versioned module. The `hash` argument represents the `vendorHash` of the resulting Caddy source code with the plugins added.

  Example:
  ```nix
  let
    pkgs = import <nixpkgs> { };
  in

  pkgs.caddy.withPlugins {
    plugins = [
      # tagged upstream
      "github.com/caddy-dns/powerdns@v1.0.1"
      # pseudo-version number generated by Go
      "github.com/caddy-dns/cloudflare@v0.0.0-20240703190432-89f16b99c18e"
      "github.com/mholt/caddy-webdav@v0.0.0-20241008162340-42168ba04c9d"
    ];
    hash = "sha256-wqXSd1Ep9TVpQi570TTb96LwzNYvWL5EBJXMJfYWCAk=";
  }
  ```

  To get the necessary hash of the vendored dependencies, omit `hash`. The build will fail and tell you the correct value.

  Note that all provided plugins must have versions/tags (string after `@`), even if upstream repo does not tag each release. For untagged plugins, you can either create an empty Go project and run `go get <plugin>` and see changes in `go.mod` to get the pseudo-version number, or provide a commit hash in place of version/tag for the first run, and update the plugin string based on the error output.

- The `godot-export-templates` package now has its content at `share/godot/export_templates/$version` instead of the output root. This makes it more convenient for for symlinking into `~/.local`, but scripts expecting the old layout will need to be changed.

- GOverlay has been updated to 1.2, please check the [upstream changelog](https://github.com/benjamimgois/goverlay/releases) for more details.

- `tpm2-pkcs11` now has the variant `tpm2-pkcs11-fapi`, which has been patched to default to the Feature API backend. It has also been split into `tpm2-pkcs11-esapi`, which _only_ supports the older Enhanced System API backend. Note the [differences](https://github.com/tpm2-software/tpm2-pkcs11/blob/1.9.1/docs/FAPI.md), and that `tpm2-pkcs11` itself still needs `TPM2_PKCS11_BACKEND=fapi` exported in order to use the Feature API, whereas `tpm2-pkcs11-fapi` does not, and `tpm2-pkcs11-esapi` just does not support fapi entirely.

- For matrix homeserver Synapse we are now following the upstream recommendation to enable jemalloc as the memory allocator by default.

- Mattermost, a self-hosted chat collaboration platform supporting calls, playbooks, and boards, has been updated. It now has multiple versions, disabled telemetry, and a native frontend build in nixpkgs, removing all upstream prebuilt blobs.

Title: Nixpkgs 25.05: Package Updates and Notable Changes (Part 10)
Summary
This section details package updates and changes in Nixpkgs 25.05 including: Updates and improvements to `octave`, androidenv and `dwarf-fortress`. Also, the `gerbera` now has wavpack support and `buildPythonPackage`, `buildPythonApplication` now support both `__structuredAttrs = true` and `__structuredAttrs = false`. `buildGoModule` now supports a self-referencing `finalAttrs:` parameter. Caddy can be built with plugins using `caddy.withPlugins`. The `godot-export-templates` content is now in `share/godot/export_templates/$version`. Updates and changes include GOverlay to 1.2, `tpm2-pkcs11` now has `tpm2-pkcs11-fapi` variant. Matrix homeserver Synapse now enables jemalloc by default. Mattermost has been updated with multiple versions, disabled telemetry, and a native frontend build.