Merge staging-next into staging

This commit is contained in:
nixpkgs-ci[bot] 2026-05-29 13:06:53 +00:00 committed by GitHub
commit eda09a0827
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
73 changed files with 653 additions and 471 deletions

View file

@ -53,7 +53,7 @@
- `cardboard` has been removed due to the package having been broken since at least November 2024.
- `carla` no longer support `gtk2` override.
- `carla` no longer supports `gtk2` override.
- `chatgpt-retrieval-plugin` has been removed due to the package having been broken since at least November 2024.
@ -431,7 +431,7 @@ and [release notes for v18](https://goteleport.com/docs/changelog/#1800-070325).
- The `dockerTools.streamLayeredImage` builder now uses a better algorithm for generating layered docker images, such that much more sharing is possible when the number of store paths exceeds the layer limit. It gives each of the largest store paths its own layer and adds dependencies to those layers when they aren't used elsewhere.
- The `open-webui` package's postgres support have been moved to optional dependencies to comply with upstream changes in 0.6.26.
- The `open-webui` package's postgres support has been moved to optional dependencies to comply with upstream changes in 0.6.26.
- The systemd initrd will now respect `x-systemd.wants` and `x-systemd.requires` for reliably unlocking multi-disk bcachefs volumes.

View file

@ -105,7 +105,7 @@
- `spoof` has been removed, as there are many issues upstream with it working on modern OS versions, and it appears to be unmaintained.
- `duckstation` package has been removed, as it was requested by upstream and build source were changed to be incompatible with NixOS.
- `duckstation` package has been removed, as it was requested by upstream and build sources were changed to be incompatible with NixOS.
- `nodePackages.coc-go` and `nodePackages.coc-tsserver`, along with their vim plugins, have been removed from nixpkgs due to being unmaintained.
@ -163,7 +163,7 @@
`minio_legacy_fs` has been removed. Users should migrate to alternatives such as Garage, SeaweedFS, or Ceph. S3-compatible clients such as rclone can be used to move data.
- `mercure` has been update to `0.21.4` (or later). Version [0.21.0](https://github.com/dunglas/mercure/releases/v0.21.0) and [0.21.2](https://github.com/dunglas/mercure/releases/tag/v0.21.2) introduce breaking changes to the package.
- `mercure` has been updated to `0.21.4` (or later). Version [0.21.0](https://github.com/dunglas/mercure/releases/v0.21.0) and [0.21.2](https://github.com/dunglas/mercure/releases/tag/v0.21.2) introduce breaking changes to the package.
- `mozc` and `mozc-ut` no longer contains the IBus front-end, which are now provided by `ibus-engines.mozc` and `ibus-engines.mozc-ut`.
@ -171,7 +171,7 @@
- `n8n` has been updated to version 2. You can find the breaking changes here: https://docs.n8n.io/2-0-breaking-changes/.
- `nomad` has been updated to v1.11. Refer to the [release note](https://developer.hashicorp.com/nomad/docs/release-notes/nomad/v1-11-x) for more details. Once a new Nomad version has started and upgraded it's data directory, it generally cannot be downgraded to the previous version.
- `nomad` has been updated to v1.11. Refer to the [release note](https://developer.hashicorp.com/nomad/docs/release-notes/nomad/v1-11-x) for more details. Once a new Nomad version has started and upgraded its data directory, it generally cannot be downgraded to the previous version.
- The default NVIDIA drivers no longer support Maxwell (GTX 1xxx) or older GPUs. Pin the nvidia package to ` config.boot.kernelPackages.nvidiaPackages.legacy_580` for continued support.
@ -185,9 +185,9 @@
Please use [`pytestFlags` and `(enabled|disabled)(TestPaths|Tests|TestMarks)`](#using-pytestcheckhook) instead.
If modifying the Nix expression is not feasible, users can remediate the error by overriding `pytestFlagsArray` with `null` or `[ ]`.
- `python3Packages.pygame` has been been renamed to `python3Packages.pygame-original`, the attribute `python3Packages.pygame` will from python 3.14 default to the more actively maintained `python3Packages.pygame-ce`
- `python3Packages.pygame` has been renamed to `python3Packages.pygame-original`, the attribute `python3Packages.pygame` will from python 3.14 default to the more actively maintained `python3Packages.pygame-ce`.
- `fastly` has been updated to major version 14. For more information, you can check the [release notes](https://github.com/fastly/cli/releases/tag/v14.0.0)
- `fastly` has been updated to major version 14. For more information, you can check the [release notes](https://github.com/fastly/cli/releases/tag/v14.0.0).
- `peertube` has been updated from `7.3.0` to `8.0.2`, introducing several breaking changes.
Some notable new features include channel collaboration and video player redesign with a new theme.
@ -274,7 +274,7 @@
IMAP_CERTIFICATE_VALIDATION=false
```
- `python3packages.pillow-avif-plugin` has been removed as the functionality is included in `python3packages.pillow` directly since version 11.3.
- `python3Packages.pillow-avif-plugin` has been removed as the functionality is included in `python3Packages.pillow` directly since version 11.3.
- `wasistlos` (previously known as `whatsapp-for-linux`) has been removed because it was unmaintained and archived upstream.
Multiple alternatives exist: `karere`, `whatsie` and `zapzap` among others.
@ -328,7 +328,7 @@
- The packages `ibtool`, `actool` and `re-plistbuddy` have been added, providing reimplementations of the corresponding proprietary Apple tools. They are more compatible with the originals than the previously existing `xcbuild` package, and should enable more darwin software to be built from source.
- Switch inhibitors were introduced, which add a pre-switch check that compares a list of strings between the previous and the new generation, and refuses to switch into the new generation when there is a difference between the two lists. This allows to avoid switching into a system when for instance the systemd version changed by adding `config.systemd.package.version` to the switch inhibitors for your system. You can still forcefully switch into any generation by setting `NIXOS_NO_CHECK=1`.
- Switch inhibitors were introduced, which add a pre-switch check that compares a list of strings between the previous and the new generation, and refuses to switch into the new generation when there is a difference between the two lists. This allows avoiding switching into a system when for instance the systemd version changed by adding `config.systemd.package.version` to the switch inhibitors for your system. You can still forcefully switch into any generation by setting `NIXOS_NO_CHECK=1`.
- GNU Taler has been updated to version 1.3.
This release focuses on getting everything ready for a deployment of GNU Taler by Magnet bank.

View file

@ -4,7 +4,7 @@
<!-- To avoid merge conflicts, consider adding your item at an arbitrary place in the list instead. -->
- Added `nixos-init`, a Rust-based bashless initialization system for systemd initrd. This allows to build NixOS systems without any interpreter. Enable via `system.nixos-init.enable = true;`.
- Added `nixos-init`, a Rust-based bashless initialization system for systemd initrd. This allows building NixOS systems without any interpreter. Enable via `system.nixos-init.enable = true;`.
- COSMIC DE has been updated to the beta version, bringing it closer to its first stable release. This includes updates to its core components, applications, and overall stability.
@ -41,7 +41,7 @@
<!-- To avoid merge conflicts, consider adding your item at an arbitrary place in the list instead. -->
- Added `nixos-init`, a Rust-based bashless initialization system for systemd initrd. This allows to build NixOS systems without any interpreter. Enable via `system.nixos-init.enable = true;`.
- Added `nixos-init`, a Rust-based bashless initialization system for systemd initrd. This allows building NixOS systems without any interpreter. Enable via `system.nixos-init.enable = true;`.
- [angrr](https://github.com/linyinfeng/angrr), a service that automatically cleans up old auto GC roots. Available as [services.angrr](#opt-services.angrr.enable).
@ -49,7 +49,7 @@
- [Beszel](https://beszel.dev), a lightweight server monitoring hub with historical data, docker stats, and alerts. Available as [`services.beszel.agent`](options.html#opt-services.beszel.agent.enable) and [`services.beszel.hub`](options.html#opt-services.beszel.hub.enable).
- [boot.kernel.sysfs](options.html#opt-boot.kernel.sysfs), a new way to set of sysfs attributes.
- [boot.kernel.sysfs](options.html#opt-boot.kernel.sysfs), a new way to set sysfs attributes.
- [Broadcast Box](https://github.com/Glimesh/broadcast-box), a WebRTC broadcast server. Available as [services.broadcast-box](options.html#opt-services.broadcast-box.enable).
@ -222,7 +222,7 @@
- `miniflux` no longer uses the hstore PostgreSQL extension. Having the extension would prevent Miniflux from starting. In case you are managing your `miniflux` PostgreSQL database externally, disable the extension with `DROP EXTENSION IF EXISTS hstore;`.
- `netbox-manage` script created by the `netbox` module no longer uses `sudo -u netbox` internally. It can be run as root and will change it's user to `netbox` using `runuser`.
- `netbox-manage` script created by the `netbox` module no longer uses `sudo -u netbox` internally. It can be run as root and will change its user to `netbox` using `runuser`.
- NixOS display manager modules now strictly use tty1, where many of them previously used tty7. Options to configure display managers' VT have been dropped. A configuration with a display manager enabled will not start `getty@tty1.service`, even if the system is forced to boot into `multi-user.target` instead of `graphical.target`.
@ -254,7 +254,7 @@
- `services.nextcloud.notify_push.enable` now installs the notify_push app. Therefore the appstore is now disabled when using `notify_push`. See `services.nextcloud.appstoreEnable`.
- `services.nixseparatedebuginfod.enable = true;` has been replaced by `services.nixseparatedebuginfod2.enable = true`. If you only use the official binary cache `https://cache.nixos.org` then no further configuration should be needed. If you have other https substituters, you can add them to `services.nixseparatedebuginfod2.subsituters`. SSH substituters are not supported by nixseparatedebuginfod2. Consider running nixseparatedebuginfod2 on the substituter instead, and pointing to it with the new option `environment.debuginfodServers`.
- `services.nixseparatedebuginfod.enable = true;` has been replaced by `services.nixseparatedebuginfod2.enable = true`. If you only use the official binary cache `https://cache.nixos.org` then no further configuration should be needed. If you have other https substituters, you can add them to `services.nixseparatedebuginfod2.substituters`. SSH substituters are not supported by nixseparatedebuginfod2. Consider running nixseparatedebuginfod2 on the substituter instead, and pointing to it with the new option `environment.debuginfodServers`.
- `services.parsoid` and the `nodePackages.parsoid` package have been removed, as the JavaScript-based version this module uses is not compatible with modern MediaWiki versions.

View file

@ -92,6 +92,8 @@
- [kiwix-serve](https://wiki.kiwix.org/wiki/Kiwix-serve), a service that serves ZIM files (such as Wikipedia archives) over HTTP. Available as [services.kiwix-serve](#opt-services.kiwix-serve.enable).
- [matterjs-server](https://github.com/matter-js/matterjs-server), a Matter controller with a Home Assistant compatible WebSocket API. Available as [services.matterjs-server](#opt-services.matterjs-server.enable).
- [Remark42](https://remark42.com/), a self-hosted comment engine. Available as [services.remark42](#opt-services.remark42.enable).
- [LibreChat](https://www.librechat.ai/), open-source self-hostable ChatGPT clone with Agents and RAG APIs. Available as [services.librechat](#opt-services.librechat.enable).
@ -272,7 +274,7 @@ of pulling the upstream container image from Docker Hub. If you want the old beh
for further information.
Please do note that there's no official way to rotate. On a single-node instance with the database and the secret-key being
on the same filesystem with the same permissions for Grafana only to read it's most likely OK to keep using the old key.
on the same filesystem with the same permissions for Grafana only to read its most likely OK to keep using the old key.
If you need to rotate, a [3rd-party tool, `grafana-secretkey-rotation-tool`](https://github.com/erooke/grafana-secretkey-rotation-tool/tree/d9dc788902fa5185e15cb15ce6129f7237ab6138) is a tested option.
When using a secret for this value, make sure to use [Grafana's variable expansion to inject secrets](https://grafana.com/docs/grafana/latest/setup-grafana/configure-grafana/#variable-expansion).
@ -310,7 +312,7 @@ of pulling the upstream container image from Docker Hub. If you want the old beh
- `walker` has been updated to 2.0.0+, which is a complete rewrite in rust.
It now requires a running `elephant` application launcher backend service, which can be enabled using the new `services.elephpant.enable`.
It now requires a running `elephant` application launcher backend service, which can be enabled using the new `services.elephant.enable`.
The way keybinds and actions are handled have been completely revamped. Please refer to the [default config](https://raw.githubusercontent.com/abenz1267/walker/refs/heads/master/resources/config.toml).

View file

@ -733,6 +733,7 @@
./services/home-automation/home-assistant.nix
./services/home-automation/homebridge.nix
./services/home-automation/matter-server.nix
./services/home-automation/matterjs-server.nix
./services/home-automation/openthread-border-router.nix
./services/home-automation/wyoming/faster-whisper.nix
./services/home-automation/wyoming/openwakeword.nix

View file

@ -0,0 +1,127 @@
{
config,
lib,
pkgs,
...
}:
let
cfg = config.services.matterjs-server;
in
{
options.services.matterjs-server = {
enable = lib.mkEnableOption "matterjs-server, a Matter Controller WebSocket server based on Matter.js";
package = lib.mkPackageOption pkgs "matterjs-server" { };
listenAddress = lib.mkOption {
type = lib.types.str;
default = "127.0.0.1";
description = "IP address the WebSocket API binds to.";
};
port = lib.mkOption {
type = lib.types.port;
default = 5580;
description = "TCP port the WebSocket API listens on.";
};
openFirewall = lib.mkEnableOption null // {
description = "Whether to open the WebSocket API port in the firewall.";
};
bluetoothSupport = lib.mkEnableOption ''
BLE (Bluetooth Low Energy) commissioning support. Select an adapter with
`--bluetooth-adapter=<id>` in
{option}`services.matterjs-server.extraArgs`
'';
extraArgs = lib.mkOption {
type = lib.types.listOf lib.types.str;
default = [ ];
example = [
"--primary-interface=enp11s0"
"--log-level=debug"
];
description = ''
Additional command-line arguments passed to `matterjs-server`. See
`matterjs-server --help` for the full list of options.
'';
};
};
config = lib.mkIf cfg.enable {
networking.firewall = lib.mkIf cfg.openFirewall {
allowedTCPPorts = [ cfg.port ];
};
systemd.services.matterjs-server = {
description = "Matter Controller WebSocket server based on Matter.js";
documentation = [ "https://github.com/matter-js/matterjs-server" ];
wantedBy = [ "multi-user.target" ];
after = [ "network-online.target" ];
wants = [ "network-online.target" ];
serviceConfig =
let
bluetoothCaps = [
"CAP_NET_RAW"
"CAP_NET_ADMIN"
];
in
{
ExecStart = lib.escapeShellArgs (
[
(lib.getExe cfg.package)
"--storage-path=%S/matterjs-server"
"--listen-address=${cfg.listenAddress}"
"--port=${toString cfg.port}"
"--production-mode"
]
++ cfg.extraArgs
);
StateDirectory = "matterjs-server";
StateDirectoryMode = "0700";
DynamicUser = true;
# Required for interaction with hci devices and bluetooth sockets
AmbientCapabilities = lib.optionals cfg.bluetoothSupport bluetoothCaps;
CapabilityBoundingSet = lib.optionals cfg.bluetoothSupport bluetoothCaps;
LockPersonality = true;
NoNewPrivileges = true;
PrivateTmp = true;
PrivateUsers = !cfg.bluetoothSupport; # Prevents gaining capabilities in the host namespace
ProcSubset = "pid";
ProtectClock = true;
ProtectControlGroups = true;
ProtectHome = true;
ProtectHostname = true;
ProtectKernelLogs = true;
ProtectKernelModules = true;
ProtectKernelTunables = true;
ProtectProc = "invisible";
ProtectSystem = "strict";
RestrictAddressFamilies = [
"AF_INET"
"AF_INET6"
"AF_NETLINK"
"AF_UNIX"
]
++ lib.optional cfg.bluetoothSupport "AF_BLUETOOTH";
RestrictNamespaces = true;
RestrictRealtime = true;
RestrictSUIDSGID = true;
SystemCallArchitectures = "native";
SystemCallFilter = [
"@system-service"
"~@privileged"
];
UMask = "0077";
};
};
};
meta.maintainers = with lib.maintainers; [ kranzes ];
}

View file

@ -14,7 +14,14 @@ let
lib.generators.mkValueStringDefault { } (lib.head l)
else
lib.concatMapStrings (s: "\n ${lib.generators.mkValueStringDefault { } s}") l;
mkKeyValue = lib.generators.mkKeyValueDefault { } ":";
mkKeyValue =
key: value:
lib.generators.mkKeyValueDefault { } ":" key (
if builtins.isString value && lib.hasInfix "\n" value then
"\n ${lib.replaceString "\n" "\n " value}"
else
value
);
};
firmwareSubmodule = lib.types.submodule (
{ name, ... }@local:

View file

@ -62,10 +62,10 @@ in
description = ''
Admin password for authenticating privileged requests.
When unset, all authenticated endpoints will reject requests with HTTP 401.
Authenticated requests always expect the username `admin` as per specification.
When not set, authenticated endpoints will be unavailable.
Should be set via {option}`environmentFiles` rather than directly.
'';
};
@ -90,20 +90,17 @@ in
description = ''
Maximum blob size that can be served.
Blobs that exceed this limit will return HTTP 413.
The minimum value is 512kb and the maximum is the system's total memory.
This value cannot be set higher than the system's total memory.
'';
};
PORXIE_BLOB_CACHE_HEADER = lib.mkOption {
type = lib.types.nullOr lib.types.str;
default = null;
description = ''
The `Cache-Control` header value to send alongside blob responses.
The Cache-Control header value to send alongside blob responses.
This does not affect internal cache lifetimes, only how downstream clients such as
CDNs and browsers are instructed to cache responses. Intermediary caches may need
to be cleared manually for changes to take effect quickly.
This does not affect internal cache lifetimes, only how downstream clients such as CDNs
and browsers are instructed to cache responses.
'';
};
PORXIE_BLOB_PROCESSING_TIMEOUT = lib.mkOption {
@ -116,39 +113,12 @@ in
default = null;
description = "Maximum duration before blob fetch requests are timed out.";
};
PORXIE_BLOB_HTTP_CONNECT_TIMEOUT = lib.mkOption {
type = lib.types.nullOr lib.types.str;
default = null;
description = ''
Maximum duration before an attempted connection to a blob upstream is aborted.
This value should be lower than {option}`settings.PORXIE_BLOB_HTTP_TIMEOUT`.
'';
};
# Identity.
PORXIE_IDENTITY_PLC_URL = lib.mkOption {
type = lib.types.nullOr lib.types.str;
default = null;
description = ''
URL of the PLC instance used for `did:plc` lookups.
Can typically be left as default unless using a custom or local development setup.
'';
};
PORXIE_IDENTITY_HTTP_TIMEOUT = lib.mkOption {
type = lib.types.nullOr lib.types.str;
default = null;
description = "Maximum duration before identity resolution requests are timed out.";
};
PORXIE_IDENTITY_HTTP_CONNECT_TIMEOUT = lib.mkOption {
type = lib.types.nullOr lib.types.str;
default = null;
description = ''
Maximum duration before a connection attempt to an identity upstream is aborted.
This value should be lower than {option}`settings.PORXIE_IDENTITY_HTTP_TIMEOUT`.
'';
description = "URL of the PLC instance used for `did:plc` lookups.";
};
# Cache.
@ -158,8 +128,7 @@ in
description = ''
Total memory allocation for the internal cache.
Blobs are cached using an LFU policy. The most frequently requested blobs are kept
longest when the cache approaches its limit.
Blobs are cached using an LFU policy. The most frequently requested blobs are kept longest when the cache reaches maximum size.
For production deployments, a CDN or caching layer in front of this server is
recommended for lower latency and better global availability.
@ -195,7 +164,7 @@ in
description = ''
Policy service URL that DID+CID pairs will be checked against.
Requests are sent via XRPC to `<url>/xrpc/dev.blooym.porxie.getBlobPolicy?did=<did>&cid=<cid>`.
Requests are sent via XRPC to `<url>/xrpc/dev.blooym.porxie.getBlobPolicy`.
'';
};
PORXIE_POLICY_REQUEST_HEADERS = lib.mkOption {
@ -203,10 +172,11 @@ in
default = null;
apply = v: if v != null then lib.concatStringsSep "|" v else null;
description = ''
Headers sent alongside all requests to the policy service.
Headers sent alongside requests to the policy service.
Each header must be in the format `Name: value`.
As pipes are used as a delimiter, they cannot be contained in header values.
As pipes are used as a delimiter, they cannot be contained in headers.
Should be set via {option}`environmentFiles` for sensitive values such as API keys.
'';
@ -216,24 +186,10 @@ in
default = null;
apply = v: if v != null then lib.boolToString v else null;
description = ''
Allow requests to proceed if the policy service is unavailable.
Allow requests to proceed even if the policy service is unavailable.
Warning: enabling this means restricted blobs may be served when the policy
service is unreachable.
'';
};
PORXIE_POLICY_HTTP_TIMEOUT = lib.mkOption {
type = lib.types.nullOr lib.types.str;
default = null;
description = "Maximum duration before policy service requests are timed out.";
};
PORXIE_POLICY_HTTP_CONNECT_TIMEOUT = lib.mkOption {
type = lib.types.nullOr lib.types.str;
default = null;
description = ''
Maximum duration before an attempted connection to the policy service is aborted.
This value should be lower than {option}`settings.PORXIE_POLICY_HTTP_TIMEOUT`.
Warning: enabling this means restricted blobs may be served when the policy service
is unavailable.
'';
};
};

View file

@ -966,6 +966,7 @@ in
matrix-synapse-workers = runTest ./matrix/synapse-workers.nix;
matrix-tuwunel = runTest ./matrix/tuwunel.nix;
matter-server = runTest ./matter-server.nix;
matterjs-server = runTest ./matterjs-server.nix;
mattermost = handleTest ./mattermost { };
mautrix-discord = runTest ./matrix/mautrix-discord.nix;
mautrix-meta-postgres = runTest ./matrix/mautrix-meta-postgres.nix;

View file

@ -0,0 +1,23 @@
{ lib, ... }:
{
name = "matterjs-server";
meta.maintainers = with lib.maintainers; [ kranzes ];
nodes.machine.services.matterjs-server.enable = true;
testScript =
{ nodes, ... }:
let
inherit (nodes.machine.services.matterjs-server) listenAddress port package;
in
''
import json
machine.wait_for_unit("matterjs-server.service")
machine.wait_for_open_port(${toString port})
health = json.loads(machine.succeed("curl -fsS http://${listenAddress}:${toString port}/health"))
assert health["version"] == "${package.version}"
'';
}

View file

@ -12,7 +12,7 @@
}:
stdenv.mkDerivation rec {
version = "0.83";
version = "0.84";
pname = "putty";
src = fetchurl {
@ -20,15 +20,9 @@ stdenv.mkDerivation rec {
"https://the.earth.li/~sgtatham/putty/${version}/${pname}-${version}.tar.gz"
"ftp://ftp.wayne.edu/putty/putty-website-mirror/${version}/${pname}-${version}.tar.gz"
];
hash = "sha256-cYd3wT1j0N/5H+AxYrwqBbTfyLCCdjTNYLUc79/2McY=";
hash = "sha256-BgV4Yq4Zjx29IZ0MdJMIDVn2BhlLtQVsVJ40KqAbaf4=";
};
patches = [
# Fix EdDSA signature verification accepting out-of-range s values
# https://git.tartarus.org/?p=simon/putty.git;a=commit;h=af996b5ec27ab79bae3882071b9d6acf16044549
./eddsa-verify-check-out-of-range-s.patch
];
nativeBuildInputs = [
cmake
perl

View file

@ -1,87 +0,0 @@
From af996b5ec27ab79bae3882071b9d6acf16044549 Mon Sep 17 00:00:00 2001
From: Simon Tatham <anakin@pobox.com>
Date: Wed, 25 Feb 2026 08:29:58 +0000
Subject: [PATCH] eddsa_verify: add check for out-of-range s.
The integer s in an EdDSA signature is treated as an exponent: the
curve's base point is raised to that power. (OK, multiplied by it, if
you use the elliptic curve notational convention rather than the
general group convention.) Therefore, in principle, it doesn't make
any difference if s varies by a multiple of the base point's
order (which is around 2^252, therefore a larger s still fits easily
within the 256-bit space for it in the signature encoding). However,
RFC 8032 requires s to be strictly less than that order, so that
there's a single canonical encoding for any given signature.
I'm not treating this as a vulnerability because I don't believe
there's any situation in SSH where canonicality of signatures is
important. But it should be fixed, nonetheless.
In the fix, it's OK to use an ordinary if statement to check the bound
on s, because they're visible to everybody anyway: the integer s is
encoded directly in the signature, and the bound we're checking it
against is a well-known public integer, so nothing new is revealed by
any timing side channel proving that that was the reason for the
rejection. (Not even if the message being signed were secret, which it
is in SSH: the validation of s doesn't depend on the message.)
Thanks to Yujie Zhu for the report.
---
crypto/ecc-ssh.c | 5 +++++
test/cryptsuite.py | 18 ++++++++++++++++++
2 files changed, 23 insertions(+)
diff --git a/crypto/ecc-ssh.c b/crypto/ecc-ssh.c
index e524dfc4..fcde908d 100644
--- a/crypto/ecc-ssh.c
+++ b/crypto/ecc-ssh.c
@@ -1091,6 +1091,11 @@ static bool eddsa_verify(ssh_key *key, ptrlen sig, ptrlen data)
if (!r)
return false;
mp_int *s = mp_from_bytes_le(sstr);
+ if (mp_cmp_hs(s, ek->curve->e.G_order)) {
+ ecc_edwards_point_free(r);
+ mp_free(s);
+ return false;
+ }
mp_int *H = eddsa_signing_exponent_from_data(ek, extra, rstr, data);
diff --git a/test/cryptsuite.py b/test/cryptsuite.py
index 1ee283c2..30c4ebeb 100755
--- a/test/cryptsuite.py
+++ b/test/cryptsuite.py
@@ -93,6 +93,9 @@ def le_integer(x, nbits):
def be_integer(x, nbits):
return bytes(reversed(le_integer(x, nbits)))
+def decode_le_integer(s):
+ return sum(byte << (8*i) for i,byte in enumerate(s))
+
@contextlib.contextmanager
def queued_random_data(nbytes, seed):
hashsize = 512 // 8
@@ -3518,6 +3521,21 @@ LzN/Ly+uECsga2hoc+P/ZHMULMZkCfrOyWdeXz7BR/acLZJoT579
self.assertEqual(
mlkem_decaps(params, bytes(dk_bytes), c), fail)
+ def testEd25519Overflow(self):
+ test_key = ssh_key_new_priv('ed25519', b64('AAAAC3NzaC1lZDI1NTE5AAAAIMt0/CMBL+64GQ/r/JyGxo6oHs86i9bOHhMJYbDbxEJf'), b64('AAAAIB38jy02ZWYb4EXrJG9RIljEhqidrG5DdhZvMvoeOTZs'))
+ test_string = b'hello, world'
+ good_sig = test_key.sign(test_string, 0)
+ self.assertTrue(test_key.verify(good_sig, test_string))
+ prefixlen = 4 + len('ssh-ed25519') + 4
+ self.assertEqual(len(good_sig), prefixlen + 64)
+ good_sstr = good_sig[prefixlen+32:]
+ good_s = decode_le_integer(good_sstr)
+ bad_s = good_s + ed25519.G_order
+ bad_sstr = le_integer(bad_s, 256)
+ bad_sig = good_sig[:prefixlen+32] + bad_sstr
+ self.assertEqual(len(bad_sig), len(good_sig))
+ self.assertFalse(test_key.verify(bad_sig, test_string))
+
class standard_test_vectors(MyTestBase):
def testAES(self):
def vector(cipher, key, plaintext, ciphertext):
--
2.30.2

View file

@ -8,13 +8,13 @@
stdenv.mkDerivation (finalAttrs: {
pname = "alire";
version = "2.1.0";
version = "2.1.1";
src = fetchFromGitHub {
owner = "alire-project";
repo = "alire";
tag = "v${finalAttrs.version}";
hash = "sha256-DfzCQu9xOe9JgX6RTrYOGTIS6EcPimLnd5pfXMtfRss=";
hash = "sha256-YOUFTKbqbFfdYNWcGCvtFCDCW2tH8E3YuRQrV522Px4=";
fetchSubmodules = true;
};

View file

@ -7,13 +7,13 @@
stdenv.mkDerivation (finalAttrs: {
pname = "aocl-utils";
version = "5.2.2";
version = "5.3.0";
src = fetchFromGitHub {
owner = "amd";
repo = "aocl-utils";
tag = finalAttrs.version;
hash = "sha256-grEuYM+Ss4pQQ12S5uOV27ocVHzYuLK+e70Jm5u8fuI=";
hash = "sha256-+lOV83RmoF67Y04jfQeVLZS12yb1TtVhBohsPoetMWk=";
};
patches = [ ./pkg-config.patch ];

View file

@ -8,13 +8,13 @@
buildGoModule (finalAttrs: {
pname = "asccli";
version = "1.5.0";
version = "1.5.4";
src = fetchFromGitHub {
owner = "rorkai";
repo = "App-Store-Connect-CLI";
tag = "${finalAttrs.version}";
hash = "sha256-junTdPz0gtfmDPycuitYo06a0D25yi3E2uVPaaQtWBQ=";
hash = "sha256-5mvIxq3tTQjwX7aOJwpeBSYPviKzYuK8/VDL6F1MQJs=";
};
vendorHash = "sha256-XBEDMUGwSh8P+dVKMebN3zD83e1odAN+Wy15yys0+2M=";

View file

@ -15,10 +15,10 @@
let
source = {
version = "2.35.0";
hash = "sha256-KJ+/p6Szblof7fPeHkikOVK10xvcyVgpeFMx6cOOEgc=";
npmDepsHash = "sha256-iqH32SWpoILLb9JQjgF+lrkZXHlbXTi3XFsvNKup934=";
clientNpmDepsHash = "sha256-jSjw/Y+1VYlG8pKqOzNzrZRTUeIyBPdOAhZqEbC2qiA=";
version = "2.35.1";
hash = "sha256-31cKSjSTJyUetjCSOCDY2wnTFV+Z52LcvGrh7Emc0cM=";
npmDepsHash = "sha256-wmbzbMQHrbHcL9JSpPXpc+vjjj5LTNN8e6Ug3ZRQ7mo=";
clientNpmDepsHash = "sha256-wJdCvUVLZzCY3iW/Q7QVuRu96s49TehnuQNqbImbe0g=";
};
src = fetchFromGitHub {

View file

@ -8,13 +8,13 @@
buildGoModule (finalAttrs: {
pname = "betteralign";
version = "0.9.2";
version = "0.11.0";
src = fetchFromGitHub {
owner = "dkorunic";
repo = "betteralign";
tag = "v${finalAttrs.version}";
hash = "sha256-I3LSWpAZlLWalrx6B78Ni9EO/iqUpsKXA1PjO1/i8PY=";
hash = "sha256-deKu4ZTaLhmqbNZRD/fyhNN8dDikQTS+PHSHhmSNUJQ=";
# Trick for getting accurate commit, source date and timestamp for ldflags
# Required by upstream https://github.com/dkorunic/betteralign/blob/346baa9c9dd024bfe55302c9d7d0ca46b2734c1c/.goreleaser.yml

View file

@ -35,14 +35,14 @@ let
in
python3.pkgs.buildPythonApplication (finalAttrs: {
pname = "checkov";
version = "3.2.529";
version = "3.2.530";
pyproject = true;
src = fetchFromGitHub {
owner = "bridgecrewio";
repo = "checkov";
tag = finalAttrs.version;
hash = "sha256-sfbwmeASE0gwN/jg+6l84G60tIZRbZc417QK0lqwr/s=";
hash = "sha256-Vb9dtlw/fiDRVZ7Mc8RaXvzu6aKQaCiCJHMdIyo4AHY=";
};
pythonRelaxDeps = [

View file

@ -7,14 +7,11 @@
chromaprint,
gettext,
gst_all_1,
liblastfm,
qtbase,
qtx11extras,
qttools,
qt5,
libsForQt5,
taglib_1,
fftw,
glew,
qjson,
sqlite,
libgpod,
libplist,
@ -26,12 +23,9 @@
pcre,
projectm_3,
protobuf,
qca-qt5,
pkg-config,
sparsehash,
config,
wrapQtAppsHook,
gst_plugins,
util-linuxMinimal,
libunwind,
libselinux,
@ -46,6 +40,13 @@ let
withMTP = config.clementine.mtp or true;
withCD = config.clementine.cd or true;
withCloud = config.clementine.cloud or true;
gst_plugins = with gst_all_1; [
gst-plugins-base
gst-plugins-good
gst-plugins-ugly
gst-libav
];
in
stdenv.mkDerivation (finalAttrs: {
pname = "clementine";
@ -61,7 +62,7 @@ stdenv.mkDerivation (finalAttrs: {
nativeBuildInputs = [
cmake
pkg-config
wrapQtAppsHook
qt5.wrapQtAppsHook
util-linuxMinimal
libunwind
libselinux
@ -80,16 +81,16 @@ stdenv.mkDerivation (finalAttrs: {
gst_all_1.gst-plugins-bad
gst_all_1.gstreamer
gvfs
liblastfm
libsForQt5.liblastfm
libpulseaudio
pcre
projectm_3
protobuf
qca-qt5
qjson
qtbase
qtx11extras
qttools
libsForQt5.qca-qt5
libsForQt5.qjson
qt5.qtbase
qt5.qtx11extras
qt5.qttools
sqlite
taglib_1
alsa-lib

View file

@ -13,13 +13,13 @@
stdenv.mkDerivation (finalAttrs: {
pname = "cockpit-machines";
version = "352";
version = "353";
src = fetchFromGitHub {
owner = "cockpit-project";
repo = "cockpit-machines";
tag = finalAttrs.version;
hash = "sha256-wDDskuvGVq5MWvi+3+3OXpaswPvea8+NDcic70GiYkg=";
hash = "sha256-K4p2HDg1Wh1ORw3S2BeY0Kbpy+CEGyiCM623/6M4LpU=";
fetchSubmodules = true;
postFetch = "cp $out/node_modules/.package-lock.json $out/package-lock.json";

View file

@ -12,13 +12,13 @@
stdenv.mkDerivation (finalAttrs: {
pname = "cockpit-podman";
version = "125";
version = "126";
src = fetchFromGitHub {
owner = "cockpit-project";
repo = "cockpit-podman";
tag = finalAttrs.version;
hash = "sha256-8YKqcm+IEhZwCPdNrMceAXdoBRS5xyRxrQM1FDNCANk=";
hash = "sha256-E8sFBiC7kcxkBhoDOL6ZDRYD2b2ZXZ8PN2oqA+rG6G4=";
fetchSubmodules = true;
postFetch = "cp $out/node_modules/.package-lock.json $out/package-lock.json";

View file

@ -9,16 +9,16 @@
buildGoModule (finalAttrs: {
pname = "crossplane-cli";
version = "2.3.0";
version = "2.3.1";
src = fetchFromGitHub {
owner = "crossplane";
repo = "cli";
rev = "v${finalAttrs.version}";
hash = "sha256-FZx31AvGC70iSX3KcLyb5GpwiItO0LliLNeNk8WIX8s=";
hash = "sha256-E1Dp0ovC2FWwsrSvhVWudHXxke2z2nCg0q8CVDg58/Y=";
};
vendorHash = "sha256-QZyKX94a9iMvB2NCNr27M7hrQJG9Por0mLW3lCf8f58=";
vendorHash = "sha256-uGQ1lrj+V0ndnTJTKtN6GLGLv89RPDb/Vuo58XYqV8M=";
ldflags = [
"-s"

View file

@ -10,26 +10,26 @@ let
inherit (stdenv) hostPlatform;
sources = {
x86_64-linux = fetchurl {
url = "https://downloads.cursor.com/lab/2026.05.16-0338208/linux/x64/agent-cli-package.tar.gz";
hash = "sha256-E2YeEnyAjbGXe1lpcpZnb/NBWNOoQYRkCfuokvkQsaI=";
url = "https://downloads.cursor.com/lab/2026.05.24-dda726e/linux/x64/agent-cli-package.tar.gz";
hash = "sha256-+hK1TIp6gLLboHlZQTOtA2qbnB58oKkPGlaGvg/UyYc=";
};
aarch64-linux = fetchurl {
url = "https://downloads.cursor.com/lab/2026.05.16-0338208/linux/arm64/agent-cli-package.tar.gz";
hash = "sha256-WM3Ucu5ia9rlEgXtfNYea6B7ccgmpFJm/p4JpQje+Vs=";
url = "https://downloads.cursor.com/lab/2026.05.24-dda726e/linux/arm64/agent-cli-package.tar.gz";
hash = "sha256-Uo9Nma7S3yQft6ocKOVFBknKDYCQTZiPJPhEBehLObY=";
};
x86_64-darwin = fetchurl {
url = "https://downloads.cursor.com/lab/2026.05.16-0338208/darwin/x64/agent-cli-package.tar.gz";
hash = "sha256-0/CJxz14JgrCAwhbXeSHXYwnpvh4AnbjUHOUzNxxBJw=";
url = "https://downloads.cursor.com/lab/2026.05.24-dda726e/darwin/x64/agent-cli-package.tar.gz";
hash = "sha256-6X6jaZBW/deCyiL/KAjTqVCF0bGwlds4wmU3GkSpfmU=";
};
aarch64-darwin = fetchurl {
url = "https://downloads.cursor.com/lab/2026.05.16-0338208/darwin/arm64/agent-cli-package.tar.gz";
hash = "sha256-xVwbcStx3UW89PBCE4zfAWNUSvs4NlneLPgY8yJDLag=";
url = "https://downloads.cursor.com/lab/2026.05.24-dda726e/darwin/arm64/agent-cli-package.tar.gz";
hash = "sha256-rwi0NjOmQB3S89H8y5KmF19vxbJtj8gv/p7susx45Q8=";
};
};
in
stdenv.mkDerivation {
pname = "cursor-cli";
version = "0-unstable-2026-05-16";
version = "0-unstable-2026-05-24";
src = sources.${hostPlatform.system};

View file

@ -12,7 +12,6 @@
gtk3,
gtk4,
fmt,
pcre,
libuuid,
libselinux,
libsepol,
@ -55,7 +54,6 @@ stdenv.mkDerivation rec {
gtk4
fmt
fcitx5
pcre
libuuid
libselinux
libsepol

View file

@ -28,13 +28,13 @@ in
buildNpmPackage (finalAttrs: {
pname = "pangolin";
version = "1.18.3";
version = "1.18.4";
src = fetchFromGitHub {
owner = "fosrl";
repo = "pangolin";
tag = finalAttrs.version;
hash = "sha256-1grYW3UrQsw94xFyKj+n8styihRdW/+aW2Q5lq9b3Bg=";
hash = "sha256-b8fXjjsPAN8KI0jxshGJGJSLcRTG5x8bBwlZjxKOdP0=";
};
npmDepsHash = "sha256-+qsHvytwAIbbNYpgNT6I7lekpxY0mUWcWGA9dT6rbtc=";

View file

@ -10,16 +10,16 @@
buildGoModule (finalAttrs: {
pname = "git-spice";
version = "0.28.0";
version = "0.29.2";
src = fetchFromGitHub {
owner = "abhinav";
repo = "git-spice";
tag = "v${finalAttrs.version}";
hash = "sha256-/UzEWuW1Y3CXXPfU3ntYk3r+LreyzQ8XG4hbPIwWRUE=";
hash = "sha256-ZwhbsSFnzKZv8iEgI9tO2tekmzT7mh7w0+PXDyucuLw=";
};
vendorHash = "sha256-YPcQ3Yjn016S2bLjUKH2SXgTm6b1+q7McgEzjUzyggE=";
vendorHash = "sha256-t7nfOTHncSLounY1zR4idAmDmqj9znR2IUQA2xt0Drs=";
subPackages = [ "." ];

View file

@ -5,12 +5,12 @@
}:
let
version = "1.6.1";
version = "1.6.2";
pname = "gsender";
src = fetchurl {
url = "https://github.com/Sienci-Labs/gsender/releases/download/v${version}/gSender-${version}-Linux-Intel-64Bit.AppImage";
hash = "sha256-utAzkaYfeDyHNFPTTQaXyTCg3cFSZvuCvCCVzb1zH2M=";
hash = "sha256-DZBTnvbxh2n4KVhbbe7JG0/q+wNQVEkHN8w4+5RuQGw=";
};
appimageContents = appimageTools.extractType2 { inherit pname version src; };

View file

@ -33,11 +33,11 @@ let
in
stdenv.mkDerivation (finalAttrs: {
pname = "haproxy";
version = "3.3.9";
version = "3.3.10";
src = fetchurl {
url = "https://www.haproxy.org/download/${lib.versions.majorMinor finalAttrs.version}/src/haproxy-${finalAttrs.version}.tar.gz";
hash = "sha256-8x6OaNsHfMCVb07T/3oexjeqXjSMbRxc0hY+ev6xueY=";
hash = "sha256-aqkZoT86V1QW7wrkXaDss18ajQBGQd1oT+m1PmRokfI=";
};
buildInputs = [

View file

@ -1,84 +1,8 @@
import ./generic.nix {
hash = "sha256-7s2gc+78O8jKypVe1itaUrsLPa2mLjNgUUrR/cv7ITA=";
version = "7.0.0";
vendorHash = "sha256-6irMB3hpWcxDuMQBxWXnhMLAOwTAl63JX6JJZMQXf5E=";
patches = fetchpatch2: [
(fetchpatch2 {
name = "doc-devices-disk_Fix-broken-link.patch";
url = "https://github.com/lxc/incus/commit/faa636b70c05a5cca0346492a0586d5747e4b117.patch?full_index=1";
hash = "sha256-UsfzSeLJq0B9xDmd124ITzFBJzg2w1xXNK6TavQ5iMs=";
})
(fetchpatch2 {
name = "incusd-instance-qemu_Fix-version-detection-for-qemu-kvm.patch";
url = "https://github.com/lxc/incus/commit/a5f50d36eaa41580f2233b05936bd29fe1b15100.patch?full_index=1";
hash = "sha256-Qwu2oljB7COZB2m3W/9Y5wCCZyxvLj4ZUHcNqtoDGzk=";
})
(fetchpatch2 {
name = "incusd_Re-introduce-core-scheduling-detection.patch";
url = "https://github.com/lxc/incus/commit/1e6ce18e8cd92b5b3eb4346e7bd27fd4a7d1fb9b.patch?full_index=1";
hash = "sha256-RLy8bcod55g8vtXxChte4oalApw7d/gZg8No6BUZQS0=";
})
(fetchpatch2 {
name = "incusd-instance-lxc_Fix-swap=false-failure.patch";
url = "https://github.com/lxc/incus/commit/5f2cdf7545c5398290dc507313de9ee547fe803f.patch?full_index=1";
hash = "sha256-Ux6mm8Y4q68fj//hG7k+bXMjqhGDOxGNm64De1pwcYY=";
})
(fetchpatch2 {
name = "incusd-forknet_Persist-DHCPv6-client-DUID-across-restarts.patch";
url = "https://github.com/lxc/incus/commit/47377e345930e77d3fbce29d037fc7dbd6823dcf.patch?full_index=1";
hash = "sha256-CWaNaDYuBBLahxkqnM0FQZraVkvBSbrx1+8dcB8Vfbg=";
})
(fetchpatch2 {
name = "incusd-forknet_Include-FQDN-in-DHCPv6-INFO-requests.patch";
url = "https://github.com/lxc/incus/commit/d7f1c9d75ca33eb2ddb0bf10cec934fd6e352089.patch?full_index=1";
hash = "sha256-3zyADLiPUuiGLwdeISj5lUk3tkAayQGaRI+/yBHrvuM=";
})
(fetchpatch2 {
name = "incusd-forknet_Properly-renew-stateful-DHCPv6.patch";
url = "https://github.com/lxc/incus/commit/3b127758c17752302b3f4bf907f42e926ab664e4.patch?full_index=1";
hash = "sha256-+dcdeZwuyTWH7yfPEDqKOax/lS1Yqvwn9ooqJxKD3jA=";
})
(fetchpatch2 {
name = "incusd-forknet_Add-jitter-to-DHCPv6-renewal.patch";
url = "https://github.com/lxc/incus/commit/2b24a260b6177c033047f270286933563f05a999.patch?full_index=1";
hash = "sha256-grMspYyqn4Zl1Kn+hFeUfeIevdwszJc0x2YDC2JILKw=";
})
(fetchpatch2 {
name = "incusd-device-nic_bridged_Fix-swapped-IPv4-IPv6-DNS-record.patch";
url = "https://github.com/lxc/incus/commit/33ffcf71745e138dd4f3546839115c293e6be083.patch?full_index=1";
hash = "sha256-E8Plz9qdoTt3id9I5jbZYMKQt+kUrKmXmtMJ6IXlRJg=";
})
(fetchpatch2 {
name = "doc-authorization_Fix-reference-to-old-manager-relation.patch";
url = "https://github.com/lxc/incus/commit/c65ac0f4e6e94859b8565bce41bbf1595f4a8085.patch?full_index=1";
hash = "sha256-6wEz3uxWauIibBkH+OdB7+VsFySmugt6wk61qMayzYo=";
})
(fetchpatch2 {
name = "incusd-network-acl_Fix-issue-with-instances-in-different-project-than-ACL.patch";
url = "https://github.com/lxc/incus/commit/2a3584b6fccf152be42cf5614e54241bdb13e671.patch?full_index=1";
hash = "sha256-CXE5Bowk3ZPup6oVDEJb9ucsJoXhXu/kU7gGCghhtjQ=";
})
(fetchpatch2 {
name = "incusd-projects_Fix-targeting-on-project-delete.patch";
url = "https://github.com/lxc/incus/commit/3a104e4dc24897f0d6543136bb1043fcd4a33632.patch?full_index=1";
hash = "sha256-kTFkJqbjzdq5jvNxKw8YMPR04WRj4t5IS6ymoGyXDXE=";
})
(fetchpatch2 {
name = "test-network_acl_Add-test-for-ACL-used-by-instance-in-different-project.patch";
url = "https://github.com/lxc/incus/commit/41878729f06e9c31df9d4fac20fb8c384608577c.patch?full_index=1";
hash = "sha256-YR2Akus4vp3vNvHEmsJUh/3gbEf3R/cFUOVvt9u/wEU=";
})
(fetchpatch2 {
name = "incusd-instance-qemu_Remove-deprecated-QEMU-flag.patch";
url = "https://github.com/lxc/incus/commit/c1f18c78fc6bc4850df20574bdcc541e5eefc4ac.patch?full_index=1";
hash = "sha256-kbn4Yd/G23FCFA0Ch0+d81HUxCbcoiOzHfZ0MW+VlzE=";
})
(fetchpatch2 {
name = "incusd-cluster_Re-order-evacuations-to-happen-earlier-on-shutdown.patch";
url = "https://github.com/lxc/incus/commit/5b29ecc164ef28239d2e2a874a7c871a2e419083.patch?full_index=1";
hash = "sha256-jpyJYjiZvRw/aOGsykEx8uotRBF7p1q5O08PVhyQtvk=";
})
];
hash = "sha256-g0YnvPMwk7WpYCl5VbRtHKVYoLlrk6QYhRaRRqulVQM=";
version = "7.1.0";
vendorHash = "sha256-VqvDrjdBTblqEOY/HtoKXGRAdoTJpSWxkmgJNNPw6eQ=";
patches = [ ];
nixUpdateExtraArgs = [
"--override-filename=pkgs/by-name/in/incus/package.nix"
];

View file

@ -1,34 +1,48 @@
{
lib,
stdenv,
fetchurl,
fetchFromGitHub,
autoreconfHook,
pkg-config,
libestr,
json_c,
pcre,
pcre2,
libfastjson,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "liblognorm";
version = "2.0.9";
version = "2.1.0";
src = fetchurl {
url = "https://www.liblognorm.com/files/download/liblognorm-${finalAttrs.version}.tar.gz";
hash = "sha256-dsfMLLdqPVjncy4M/yORgPg/O2NQAriqBIZciBKFd5M=";
src = fetchFromGitHub {
owner = "rsyslog";
repo = "liblognorm";
tag = "v${finalAttrs.version}";
hash = "sha256-XHfTSLYjfGRNmPUQrLWK+Co4v4cCmtfhZ0wruAC0RNI=";
};
nativeBuildInputs = [ pkg-config ];
postPatch = ''
patchShebangs tests/*.sh
'';
nativeBuildInputs = [
autoreconfHook
pkg-config
];
buildInputs = [
libestr
json_c
pcre
pcre2
libfastjson
];
configureFlags = [ "--enable-regexp" ];
doCheck = true;
meta = {
changelog = "https://github.com/rsyslog/liblognorm/blob/${finalAttrs.src.tag}/ChangeLog";
description = "Help to make sense out of syslog data, or, actually, any event data that is present in text form";
homepage = "https://www.liblognorm.com/";
license = lib.licenses.lgpl21;

View file

@ -1,6 +1,6 @@
{
lib,
qt5,
qt6Packages,
stdenv,
gitMinimal,
fetchFromGitHub,
@ -10,24 +10,26 @@
stdenv.mkDerivation (finalAttrs: {
pname = "lpd8editor";
version = "0.0.16";
version = "0.0.18";
src = fetchFromGitHub {
owner = "charlesfleche";
repo = "lpd8editor";
tag = "v${finalAttrs.version}";
hash = "sha256-lRp2RhNiIf1VrryfKqYFSbKG3pktw3M7B49fXVoj+C8=";
hash = "sha256-ru6uyoBWWab/D1YLfJ8qXlFOazSJXQER7jgOgjHYrvc=";
};
buildInputs = [
qt5.qttools
qt6Packages.qtbase
qt6Packages.qtsvg
qt6Packages.qttools
alsa-lib
];
nativeBuildInputs = [
cmake
gitMinimal
qt5.wrapQtAppsHook
qt6Packages.wrapQtAppsHook
];
meta = {

View file

@ -0,0 +1,77 @@
{
lib,
buildNpmPackage,
fetchFromGitHub,
makeBinaryWrapper,
nodejs,
udev,
versionCheckHook,
nix-update-script,
nixosTests,
}:
buildNpmPackage (finalAttrs: {
pname = "matterjs-server";
version = "0.7.1";
__structuredAttrs = true;
strictDeps = true;
src = fetchFromGitHub {
owner = "matter-js";
repo = "matterjs-server";
tag = "v${finalAttrs.version}";
hash = "sha256-iWFhpPeqY3RVfIrZa+Y2KmwWIZtMtj8EjwjoWYaA/Ao=";
};
npmDepsHash = "sha256-ZjznhmsLavnLsNHNzH9IlZdLRMYpbLKz1q2O9A/ut+Y=";
nativeBuildInputs = [
makeBinaryWrapper
versionCheckHook
];
buildInputs = [ udev ];
preBuild = "npm run version -- --apply";
dontNpmInstall = true;
makeWrapperArgs = [
"--set"
"NODE_OPTIONS"
"--enable-source-maps"
];
installPhase = ''
runHook preInstall
npm prune --omit=dev --no-save
mkdir -p $out/lib/matterjs-server
cp -r node_modules packages $out/lib/matterjs-server/
makeWrapper ${lib.getExe nodejs} $out/bin/matterjs-server \
--add-flags "$out/lib/matterjs-server/packages/matter-server/dist/esm/MatterServer.js" \
"''${makeWrapperArgs[@]}"
runHook postInstall
'';
doInstallCheck = true;
versionCheckProgramArg = "--version";
passthru = {
tests = { inherit (nixosTests) matterjs-server; };
updateScript = nix-update-script { };
};
meta = {
description = "Matter server based on Matter.js";
homepage = "https://github.com/matter-js/matterjs-server";
changelog = "https://github.com/matter-js/matterjs-server/blob/${finalAttrs.src.rev}/CHANGELOG.md";
license = lib.licenses.asl20;
maintainers = with lib.maintainers; [ kranzes ];
mainProgram = "matterjs-server";
platforms = lib.platforms.linux;
};
})

View file

@ -0,0 +1,67 @@
{
lib,
fetchFromGitHub,
maven,
jre_minimal,
jdk_headless,
makeWrapper,
stripJavaArchivesHook,
nix-update-script,
}:
let
jre = jre_minimal.override {
modules = [
"java.base"
"java.desktop"
"java.logging"
];
jdk = jdk_headless;
};
in
maven.buildMavenPackage (finalAttrs: {
version = "2.23.1";
pname = "mustang-cli";
src = fetchFromGitHub {
owner = "ZUGFeRD";
repo = "mustangproject";
tag = "core-${finalAttrs.version}";
hash = "sha256-HhNcmXXwnR2u1hjSeNYfU+j9EdJ+tbXhgWHj1k4eSuw=";
};
strictDeps = true;
__structuredAttrs = true;
mvnHash = "sha256-ekSgGKY3OMFAEM3bNByBXrU3tpbDcbJ0fmCTRz7NIkA=";
nativeBuildInputs = [
makeWrapper
stripJavaArchivesHook
];
installPhase = ''
mkdir -p $out/bin $out/share/Mustang-CLI
# Upstream hardcodes an incorrect version string in the generated JAR filename, use a glob to match it.
# Use correct version when https://github.com/ZUGFeRD/mustangproject/issues/1131 is fixed.
install -Dm644 Mustang-CLI/target/Mustang-CLI-*-SNAPSHOT.jar $out/share/Mustang-CLI/Mustang-CLI.jar
makeWrapper ${jre}/bin/java $out/bin/mustang-cli \
--add-flags "-jar $out/share/Mustang-CLI/Mustang-CLI.jar"
'';
passthru.updateScript = nix-update-script {
extraArgs = [
"--version-regex=core-(.*)"
];
};
meta = {
mainProgram = "mustang-cli";
description = "Open Source Java e-Invoicing library, validator and tool (Factur-X/ZUGFeRD, UNCEFACT/CII XRechnung)";
homepage = "https://www.mustangproject.org";
changelog = "https://github.com/ZUGFeRD/mustangproject/releases/tag/${finalAttrs.src.tag}";
license = lib.licenses.asl20;
maintainers = with lib.maintainers; [ angelodlfrtr ];
};
})

View file

@ -10,7 +10,7 @@
rustPlatform.buildRustPackage (finalAttrs: {
pname = "mycelium";
version = "0.7.8";
version = "0.7.9";
sourceRoot = "${finalAttrs.src.name}/myceliumd";
@ -18,10 +18,10 @@ rustPlatform.buildRustPackage (finalAttrs: {
owner = "threefoldtech";
repo = "mycelium";
rev = "v${finalAttrs.version}";
hash = "sha256-1jaSQWsq72Q/T/0TLtoqaOtP+zoJLadKuFgTcz+CGeY=";
hash = "sha256-YQq8lW+F/c92884XqUOw1XeNK6bL1EEkSyNJzj0OKLo=";
};
cargoHash = "sha256-Mr6yyCzIk+sdOVKW3pvr/IdeIEEXqCKJ/I7IbonTPww=";
cargoHash = "sha256-Ctg5c88i/fn5AJNoAaEJ90HaKooAAQgflrA0mbHAaDU=";
nativeBuildInputs = [ versionCheckHook ];

View file

@ -1,8 +1,10 @@
{
lib,
stdenv,
rustPlatform,
fetchFromGitHub,
makeWrapper,
installShellFiles,
# runtime dependencies
nix-prefetch-git,
@ -19,25 +21,44 @@ let
in
rustPlatform.buildRustPackage (finalAttrs: {
pname = "npins";
version = "0.4.1";
version = "0.5.0";
src = fetchFromGitHub {
owner = "andir";
repo = "npins";
tag = finalAttrs.version;
sha256 = "sha256-XzJaDf5tlrYGTMJ+eS9hH9l79S4JA8h2KfbvKHF14xY=";
sha256 = "sha256-OkPEh0axWs3gUoUyplQexYpEXxyCDYWm5BQpwB2PIqA=";
};
cargoHash = "sha256-Fiku3UULsm6HL1skjJA/UiW9VRFRWbnXULQFBiVDCJ0=";
cargoHash = "sha256-ZbdAvt2FRq5fHS0RRndeCrpY3j8Lvn2oTAECteIss5A=";
nativeBuildInputs = [ makeWrapper ];
cargoBuildFlags = [
"-p"
"npins"
"-p"
"npins-completions"
];
nativeBuildInputs = [
makeWrapper
installShellFiles
];
# (Almost) all tests require internet
doCheck = false;
postFixup = ''
wrapProgram $out/bin/npins --prefix PATH : "${runtimePath}"
'';
postFixup =
lib.optionalString (stdenv.buildPlatform.canExecute stdenv.hostPlatform) ''
installShellCompletion --cmd npins \
--bash <($out/bin/npins-completions bash) \
--fish <(cat <($out/bin/npins-completions fish) $src/completions/pin-completions.fish) \
--zsh <($out/bin/npins-completions zsh)
rm $out/bin/npins-completions
''
+ ''
wrapProgram $out/bin/npins --prefix PATH : "${runtimePath}"
'';
meta = {
description = "Simple and convenient dependency pinning for Nix";

View file

@ -8,7 +8,7 @@
}:
rustPlatform.buildRustPackage (finalAttrs: {
pname = "oxicloud";
version = "0.5.6";
version = "0.6.0";
__structuredAttrs = true;
@ -16,10 +16,10 @@ rustPlatform.buildRustPackage (finalAttrs: {
owner = "AtalayaLabs";
repo = "OxiCloud";
tag = "v${finalAttrs.version}";
hash = "sha256-+jtFA6SWHcTTEjc+am2oFqJ1cC2bmKb5oppchpAN0SE=";
hash = "sha256-7alpcK0KYg+ZusK2K7FPdQMLdPrawvL5wsfB6NpSXQw=";
};
cargoHash = "sha256-PxygWzlOhpAKGnP2dT4tDtAJ6AJ2duRcwWZTjHks1lg=";
cargoHash = "sha256-4gxpTCsS1W2CmRzdnRcsuRe+kr+TgG4hjkzdgihop5I=";
nativeBuildInputs = [
makeBinaryWrapper

View file

@ -10,12 +10,12 @@
stdenv.mkDerivation (finalAttrs: {
pname = "pixinsight";
version = "1.9.3-20250402";
version = "1.9.4-20260522";
src = requireFile {
name = "PI-linux-x64-${finalAttrs.version}-c.tar.xz";
url = "http://pixinsight.com";
hash = "sha256-MOAWH64A13vVLeNiBC9nO78P0ELmXXHR5ilh5uUhWhs=";
hash = "sha256-+mMVAleBO5zVAOLfbvi2xedF5aTxzZoZl3UY6HzWW7I=";
};
nativeBuildInputs = [

View file

@ -62,6 +62,7 @@ buildFHSEnv {
libGL
libdrm
vulkan-loader
qt6Packages.qtbase
gtk3
fontconfig
@ -71,6 +72,7 @@ buildFHSEnv {
libssh2
libpsl
libidn2
libnghttp2
brotli
libdeflate

View file

@ -11,15 +11,15 @@ rustPlatform.buildRustPackage (finalAttrs: {
__structuredAttrs = true;
pname = "porxie";
version = "0.3.1";
version = "0.3.3";
src = fetchFromCodeberg {
owner = "Blooym";
repo = "porxie";
rev = "v${finalAttrs.version}";
hash = "sha256-XtJD9W0eF6jNWk0xyvGlV6h0JCAUUjFnMk/MRiVBv9I=";
hash = "sha256-nB0QbGJ6emO1WLbIYAvCni6Xjs1AgQo8in6Y3Tof01g=";
};
cargoHash = "sha256-q/Q4h39EzkjdWApfVf2VT1Rac+/2nQxpn+gp3l8tbeQ=";
cargoHash = "sha256-7iupGBdDvk4hofMVNuVTt67M7EOveYb3hD1mk2BJRbU=";
buildInputs = [ rust-jemalloc-sys ];

View file

@ -9,13 +9,13 @@
stdenv.mkDerivation (finalAttrs: {
pname = "primecount";
version = "8.2";
version = "8.5";
src = fetchFromGitHub {
owner = "kimwalisch";
repo = "primecount";
rev = "v${finalAttrs.version}";
hash = "sha256-Otf3+Gaq3g0JXnU/G+++eQCBHPOmed3YpUdp1G8ky2Y=";
hash = "sha256-o+oMC5Lnh1eCHj2gT0njyf6GNO1MfxjTrACQNePCjJ0=";
};
outputs = [

View file

@ -9,13 +9,13 @@
stdenv.mkDerivation (finalAttrs: {
pname = "primesieve";
version = "12.13";
version = "12.14";
src = fetchFromGitHub {
owner = "kimwalisch";
repo = "primesieve";
rev = "v${finalAttrs.version}";
hash = "sha256-BO+hhTSF2KdkC8ctwHZQQeI/biF1yEDyR4lCi4QOB/I=";
hash = "sha256-kokJJI1CdmKVEq/d+dRI3Q/n/3CiVdY6FKZFjx/hZpk=";
};
outputs = [

View file

@ -2,7 +2,6 @@
lib,
stdenv,
fetchFromGitHub,
fetchpatch,
autoreconfHook,
pkg-config,
libqalculate,
@ -24,16 +23,6 @@ stdenv.mkDerivation (finalAttrs: {
hash = "sha256-EVDbpE/T5EvKK/fTNSDbMFMQR+uamiXo7yjv9Se09w4=";
};
patches = [
# Is meaningfull only for Darwin but is better applying unconditionally.
# Can be removed in 5.11 probably, see:
# https://github.com/Qalculate/qalculate-gtk/pull/705
(fetchpatch {
url = "https://github.com/Qalculate/qalculate-gtk/commit/2f1b6a32d98f122d44d158c20f79a5b9aaf9669f.patch";
hash = "sha256-v9T8wWvqlI9l6BUszf/575qmoFvh88Cdj/m2XqV8Q4k=";
})
];
hardeningDisable = [ "format" ];
nativeBuildInputs = [

View file

@ -182,9 +182,7 @@ stdenv.mkDerivation (finalAttrs: {
env.NIX_CFLAGS_LINK = "-lz";
passthru.tests = {
nixos-rsyslogd = nixosTests.rsyslogd;
};
passthru.tests = nixosTests.rsyslogd;
meta = {
homepage = "https://www.rsyslog.com/";

View file

@ -6,13 +6,13 @@
buildGoModule (finalAttrs: {
pname = "tf";
version = "2.12.1";
version = "2.13.0";
src = fetchFromGitHub {
owner = "dex4er";
repo = "tf";
tag = "v${finalAttrs.version}";
hash = "sha256-VnALird0iuve9TmnN+LhVkRaJtbopI/pEqAtIs6cw+k=";
hash = "sha256-H10jiuiMrY9U2BnaSeM7Tc5xeoC84NQPYoF4bVpxjZ0=";
};
vendorHash = "sha256-aJVVMVoxmECmUUJphEMz5PYWx6FiSprn7NfO8asVXMc=";

View file

@ -7,14 +7,16 @@
libGLU,
libGL,
glew,
qtbase,
wrapQtAppsHook,
qt5,
autoPatchelfHook,
python3,
python312,
cmake,
libjpeg,
llvmPackages,
}:
let
python3 = python312; # fails to build otherwise
in
stdenv.mkDerivation rec {
pname = "tulip";
@ -27,7 +29,7 @@ stdenv.mkDerivation rec {
nativeBuildInputs = [
cmake
wrapQtAppsHook
qt5.wrapQtAppsHook
]
++ lib.optionals stdenv.hostPlatform.isLinux [ autoPatchelfHook ];
@ -36,7 +38,7 @@ stdenv.mkDerivation rec {
freetype
glew
libjpeg
qtbase
qt5.qtbase
python3
]
++ lib.optionals stdenv.hostPlatform.isDarwin [ llvmPackages.openmp ]

View file

@ -10,16 +10,16 @@
buildNpmPackage rec {
pname = "vacuum-tube";
version = "1.7.0";
version = "1.7.1";
src = fetchFromGitHub {
owner = "shy1132";
repo = "VacuumTube";
tag = "v${version}";
hash = "sha256-aYGsTABymPRpKl//4BfoyQPyQnQ9SB+rbkmfJOh9TpQ=";
hash = "sha256-ccxJ2ALWnU9D6OTKbP9IfV0uYGR2DnIEAckoIOWVt6Q=";
};
npmDepsHash = "sha256-Cor0mlNcLOAceNv18V8stdDrJlUtB43qfblJfFI3kso=";
npmDepsHash = "sha256-V0XlTsFX/TM7KwplYHCEdkj/KJDEUOleeM6KpL2vWHk=";
makeCacheWritable = true;
env = {

View file

@ -17,14 +17,14 @@
unprivileged ? true,
}:
stdenv.mkDerivation rec {
stdenv.mkDerivation (finalAttrs: {
version = "2.11";
pname = "wpa_supplicant";
src = fetchurl {
url = "https://w1.fi/releases/${pname}-${version}.tar.gz";
sha256 = "sha256-kS6gb3TjCo42+7aAZNbN/yGNjVkdsPxddd7myBrH/Ao=";
url = "https://w1.fi/releases/wpa_supplicant-${finalAttrs.version}.tar.gz";
hash = "sha256-kS6gb3TjCo42+7aAZNbN/yGNjVkdsPxddd7myBrH/Ao=";
};
patches = [
@ -178,6 +178,6 @@ stdenv.mkDerivation rec {
maintainers = [
];
platforms = lib.platforms.linux;
identifiers.cpeParts = lib.meta.cpeFullVersionWithVendor "w1.fi" version;
identifiers.cpeParts = lib.meta.cpeFullVersionWithVendor "w1.fi" finalAttrs.version;
};
}
})

View file

@ -1,11 +1,9 @@
{
lib,
stdenv,
qtbase,
qmake,
qt5,
inkscape,
imagemagick,
wrapQtAppsHook,
wpa_supplicant,
}:
@ -13,12 +11,15 @@ stdenv.mkDerivation {
pname = "wpa_gui";
inherit (wpa_supplicant) version src patches;
buildInputs = [ qtbase ];
buildInputs = [
qt5.qtbase
];
nativeBuildInputs = [
qmake
qt5.qmake
inkscape
imagemagick
wrapQtAppsHook
qt5.wrapQtAppsHook
];
postPatch = ''

View file

@ -10,16 +10,16 @@
rustPlatform.buildRustPackage (finalAttrs: {
pname = "zenoh-backend-filesystem";
version = "1.4.0"; # nixpkgs-update: no auto update
version = "1.9.0"; # nixpkgs-update: no auto update
src = fetchFromGitHub {
owner = "eclipse-zenoh";
repo = "zenoh-backend-filesystem";
tag = finalAttrs.version;
hash = "sha256-aMIVBs3K9h2aVPuaU5DzOjm3xzpHJn8MnjxdCDCANCw=";
hash = "sha256-xyGRL8cSTiObuFDZN+c7e9Sggfn5jx9555PU0JSPh6o=";
};
cargoHash = "sha256-d7LgxaZHcMpqx0/+qmcHlAn1pAjBrGqjeTsiqZEJ+1Q=";
cargoHash = "sha256-kbMOAL/CvmbOjKVpnZrZlRsl0sibTBwvqCq5GzXjGx8=";
nativeBuildInputs = [
pkg-config
@ -45,6 +45,6 @@ rustPlatform.buildRustPackage (finalAttrs: {
asl20
];
maintainers = with lib.maintainers; [ markuskowa ];
platforms = lib.platforms.linux;
platforms = lib.platforms.linux ++ lib.platforms.darwin;
};
})

View file

@ -6,16 +6,16 @@
rustPlatform.buildRustPackage (finalAttrs: {
pname = "zenoh-backend-influxdb";
version = "1.4.0"; # nixpkgs-update: no auto update
version = "1.9.0"; # nixpkgs-update: no auto update
src = fetchFromGitHub {
owner = "eclipse-zenoh";
repo = "zenoh-backend-influxdb";
tag = finalAttrs.version;
hash = "sha256-OwIVaWy3rgnn9Cm7sqBvFua2FOCgMQBoxPh+8HkvpB0=";
hash = "sha256-W+hrkmjvWPhUJgbPGwzo9159wd269P0vBIxDV+oX6H4=";
};
cargoHash = "sha256-yOcbg4+hXdecBN3oeuhs6J1PQ43s8oYOBX/CJ3IyoJ0=";
cargoHash = "sha256-+wJqrGQhcrVW9un+2rPZwZl8/MzttduO9Nhn1w2cNag=";
meta = {
description = "Backend and Storages for zenoh using InfluxDB";
@ -25,6 +25,6 @@ rustPlatform.buildRustPackage (finalAttrs: {
asl20
];
maintainers = with lib.maintainers; [ markuskowa ];
platforms = lib.platforms.linux;
platforms = lib.platforms.linux ++ lib.platforms.darwin;
};
})

View file

@ -10,16 +10,16 @@
rustPlatform.buildRustPackage (finalAttrs: {
pname = "zenoh-backend-rocksdb";
version = "1.4.0"; # nixpkgs-update: no auto update
version = "1.9.0"; # nixpkgs-update: no auto update
src = fetchFromGitHub {
owner = "eclipse-zenoh";
repo = "zenoh-backend-rocksdb";
tag = finalAttrs.version;
hash = "sha256-7IXBzrtab7NNskO6JkPkXGxqnAFmVyIe7dLqbYAKyLs=";
hash = "sha256-D+gc29pje4cXfIXP++572iqvzkHDrF6JVdRkdHnEY4E=";
};
cargoHash = "sha256-Lqrhu19Z++K7GIMxBHnFNyiBDfq0MxL4tUM2VDkezHw=";
cargoHash = "sha256-IOdwGre7j5vyJ5Zut+Q3/548xAlXxbRTVePp9V5nssI=";
nativeBuildInputs = [
pkg-config
@ -45,6 +45,6 @@ rustPlatform.buildRustPackage (finalAttrs: {
asl20
];
maintainers = with lib.maintainers; [ markuskowa ];
platforms = lib.platforms.linux;
platforms = lib.platforms.linux ++ lib.platforms.darwin;
};
})

View file

@ -10,18 +10,20 @@
stdenv.mkDerivation rec {
pname = "zenoh-c";
version = "1.4.0"; # nixpkgs-update: no auto update
version = "1.9.0"; # nixpkgs-update: no auto update
src = fetchFromGitHub {
owner = "eclipse-zenoh";
repo = "zenoh-c";
tag = version;
hash = "sha256-Mn3diwJgMkYXP9Dn5AqquN1UJ+P+b4QadiXqzzYZK+o=";
# tag = version;
# Use 1.9.0 PR merge commit with up-to-date Cargo.lock file
rev = "8858e129271f4e05bb34d8ae6df3f3d221ef5299";
hash = "sha256-rNvtFFM9tRttuBAIrpaYTadFcUe1El7q5t7PNnMEJXA=";
};
cargoDeps = rustPlatform.fetchCargoVendor {
inherit src pname version;
hash = "sha256-Z9xKC7svGPSuQm4KCKOfGAFOdWgSjBK+/LFT3rAebTg=";
hash = "sha256-7xWu9wgZqDzd60buMnF9B6Y5LRkG5C2JWiG7VwgSCvU=";
};
outputs = [

View file

@ -8,13 +8,13 @@
stdenv.mkDerivation (finalAttrs: {
pname = "zenoh-cpp";
version = "1.4.0"; # nixpkgs-update: no auto update
version = "1.9.0"; # nixpkgs-update: no auto update
src = fetchFromGitHub {
owner = "eclipse-zenoh";
repo = "zenoh-cpp";
tag = finalAttrs.version;
hash = "sha256-rznvif87UZbYzZB4yHG4R850qm6Z3beJ1NSG4wrf58M=";
hash = "sha256-MwQKTxrQqfoASCRk+vBeS9EHvmh6sqrpqygQVrdGkWw=";
};
cmakeFlags = [

View file

@ -6,16 +6,16 @@
}:
rustPlatform.buildRustPackage (finalAttrs: {
pname = "zenoh-plugin-dds";
version = "1.4.0"; # nixpkgs-update: no auto update
version = "1.9.0"; # nixpkgs-update: no auto update
src = fetchFromGitHub {
owner = "eclipse-zenoh";
repo = "zenoh-plugin-dds";
tag = finalAttrs.version;
hash = "sha256-vSFgxSSbLEwpwPznvy+m66Z5grgmxZiIom/I4p0xris=";
hash = "sha256-MOZmyZGaMJieWISZnnSTU+3+ER4FcGhg3YCTlmuWmuE=";
};
cargoHash = "sha256-oMmO4N1EqqpWcujbm8sPPwEzNC1Gy2UdCCRqcgyQqdI=";
cargoHash = "sha256-O7OrgEPPkWMYCtmtdgYIcE8YUa+YpHWttwW0Gu5BLJA=";
nativeBuildInputs = [
cmake
@ -36,7 +36,7 @@ rustPlatform.buildRustPackage (finalAttrs: {
asl20
];
maintainers = with lib.maintainers; [ kaweees ];
platforms = lib.platforms.linux;
platforms = lib.platforms.linux ++ lib.platforms.darwin;
mainProgram = "zenoh-bridge-dds";
};
})

View file

@ -6,16 +6,16 @@
rustPlatform.buildRustPackage (finalAttrs: {
pname = "zenoh-plugin-mqtt";
version = "1.4.0"; # nixpkgs-update: no auto update
version = "1.9.0"; # nixpkgs-update: no auto update
src = fetchFromGitHub {
owner = "eclipse-zenoh";
repo = "zenoh-plugin-mqtt";
tag = finalAttrs.version;
hash = "sha256-ijoKL8TReNER3a9dwsPeh56l1Ze2rz6jN6L9rYQLYRU=";
hash = "sha256-f5y9zCUTvNG/ubw0K+AwqfQlsfeLvoUL8gy3v9T0oQ4=";
};
cargoHash = "sha256-ZKpyVVzXC+c7JzktSOMubWl610ujoZ3Vgo4tC0/1JHk=";
cargoHash = "sha256-vL5lZOH8juX8zaLJZnw1y8aDZsdFC3gELNvp5MPft2o=";
# Some test time out
doCheck = false;
@ -28,7 +28,7 @@ rustPlatform.buildRustPackage (finalAttrs: {
asl20
];
maintainers = with lib.maintainers; [ markuskowa ];
platforms = lib.platforms.linux;
platforms = lib.platforms.linux ++ lib.platforms.darwin;
mainProgram = "zenoh-bridge-mqtt";
};
})

View file

@ -6,16 +6,16 @@
rustPlatform.buildRustPackage (finalAttrs: {
pname = "zenoh-plugin-webserver";
version = "1.4.0"; # nixpkgs-update: no auto update
version = "1.9.0"; # nixpkgs-update: no auto update
src = fetchFromGitHub {
owner = "eclipse-zenoh";
repo = "zenoh-plugin-webserver";
tag = finalAttrs.version;
hash = "sha256-R+MLM42m3UTBFHqCAGezU4jz0Hi1+X2W1Yje7+ctl6k=";
hash = "sha256-U2xcx3TVPkEgea2gdSdbEa+jDI6h6vftLUi8AZPY3fU=";
};
cargoHash = "sha256-/WVMdSGEawvAJ0viV/2eVhWGlvgaGUpe9ZHDCBUOc1I=";
cargoHash = "sha256-PLmmOw2ZMPn/ODBJn1NBvWyeGEPOcKB+aepoDqhqzZc=";
meta = {
description = "Implements an HTTP server mapping URLs to zenoh paths";
@ -25,6 +25,6 @@ rustPlatform.buildRustPackage (finalAttrs: {
asl20
];
maintainers = with lib.maintainers; [ markuskowa ];
platforms = lib.platforms.linux;
platforms = lib.platforms.linux ++ lib.platforms.darwin;
};
})

View file

@ -8,22 +8,22 @@
}:
rustPlatform.buildRustPackage (finalAttrs: {
pname = "zenoh";
version = "1.4.0"; # nixpkgs-update: no auto update
version = "1.9.0"; # nixpkgs-update: no auto update
src = fetchFromGitHub {
owner = "eclipse-zenoh";
repo = "zenoh";
rev = finalAttrs.version;
hash = "sha256-XibcNrT9R8gdOnf4BtOi5Jqu+4XjeWngA3i/MXnkfn8=";
hash = "sha256-sFHUphFu5a+buSa3GQvSmGo8SFtn3V5ZqTOnWMPlvs8=";
};
cargoHash = "sha256-z0hSjcmVOefSiPgk6ige4wsR+LikNIjwi0On1/hyi78=";
cargoHash = "sha256-1PjtZ5/bAnLlMbkcKAA6DCKDafItGiATjct5Pv8muas=";
cargoBuildFlags = [
"--workspace"
# exclude examples
"--exclude"
"examples"
"--bins"
"--lib"
"--examples"
"--exclude"
"zenoh-backend-example"
"--exclude"
@ -34,6 +34,16 @@ rustPlatform.buildRustPackage (finalAttrs: {
doCheck = false;
preInstall = ''
cp -r $releaseDir/examples/* $tmpDir/
bins=$(find $tmpDir \
-maxdepth 1 \
-type f \
-executable \
-regextype posix-extended \
! -regex ".*\.(so\.[0-9.]+|so|a|d|dylib)|.*-[0-9a-f]{16,}")
'';
passthru.tests = {
version = testers.testVersion {
package = zenoh;
@ -50,6 +60,6 @@ rustPlatform.buildRustPackage (finalAttrs: {
license = lib.licenses.asl20;
maintainers = with lib.maintainers; [ ck3d ];
mainProgram = "zenohd";
platforms = lib.platforms.linux;
platforms = lib.platforms.linux ++ lib.platforms.darwin;
};
})

View file

@ -6,12 +6,15 @@
astring,
result,
camlp-streams,
version ? if lib.versionAtLeast ocaml.version "4.08" then "3.1.0" else "2.4.4",
version ? "3.2.1",
}:
let
param =
{
"3.2.1" = {
sha256 = "sha256-1F6xJVFIOf2awncCu0k40bTztpeOmxarlnPqBnJFr/w=";
};
"3.1.0" = {
sha256 = "sha256-NVs8//STSQPLrti1HONeMz6GCZMtIwKUIAqfLUL/qRQ=";
};

View file

@ -7,22 +7,25 @@
pytest-asyncio,
pytest-raises,
pytestCheckHook,
setuptools,
xmltodict,
}:
buildPythonPackage rec {
buildPythonPackage (finalAttrs: {
pname = "aioemonitor";
version = "1.0.5";
format = "setuptools";
pyproject = true;
src = fetchFromGitHub {
owner = "bdraco";
repo = "aioemonitor";
rev = "v${version}";
rev = "v${finalAttrs.version}";
sha256 = "0h8zqqy8v8r1fl9bp3m8icr2sy44p0mbfl1hbb0zni17r9r50dhn";
};
propagatedBuildInputs = [
build-system = [ setuptools ];
dependencies = [
aiohttp
xmltodict
];
@ -47,4 +50,4 @@ buildPythonPackage rec {
license = with lib.licenses; [ asl20 ];
maintainers = with lib.maintainers; [ fab ];
};
}
})

View file

@ -3,21 +3,24 @@
requests,
buildPythonPackage,
fetchFromGitHub,
setuptools,
}:
buildPythonPackage rec {
buildPythonPackage (finalAttrs: {
pname = "aladdin-connect";
version = "0.4";
format = "setuptools";
pyproject = true;
src = fetchFromGitHub {
owner = "shoejosh";
repo = "aladdin-connect";
tag = version;
tag = finalAttrs.version;
hash = "sha256-kLvMpSGa5WyDOH3ejAJyFGsB9IiMXp+nvVxM/ZkxyFw=";
};
propagatedBuildInputs = [ requests ];
build-system = [ setuptools ];
dependencies = [ requests ];
# Project has no tests
doCheck = false;
@ -27,8 +30,8 @@ buildPythonPackage rec {
meta = {
description = "Python library for interacting with Genie Aladdin Connect devices";
homepage = "https://github.com/shoejosh/aladdin-connect";
changelog = "https://github.com/shoejosh/aladdin-connect/releases/tag/${version}";
changelog = "https://github.com/shoejosh/aladdin-connect/releases/tag/${finalAttrs.version}";
license = with lib.licenses; [ mit ];
maintainers = with lib.maintainers; [ fab ];
};
}
})

View file

@ -358,13 +358,13 @@
buildPythonPackage (finalAttrs: {
pname = "boto3-stubs";
version = "1.43.16";
version = "1.43.17";
pyproject = true;
src = fetchPypi {
pname = "boto3_stubs";
inherit (finalAttrs) version;
hash = "sha256-M+jW4OKMRZbF6pr6SENw+LhM8CvPIRo8CC/a1+20qlQ=";
hash = "sha256-noNa6wsJD4OKnDr3vJ8TGHWv5kOUyJW6Ht4V9OZcNb8=";
};
build-system = [ setuptools ];

View file

@ -8,14 +8,14 @@
buildPythonPackage (finalAttrs: {
pname = "iamdata";
version = "0.1.202605281";
version = "0.1.202605291";
pyproject = true;
src = fetchFromGitHub {
owner = "cloud-copilot";
repo = "iam-data-python";
tag = "v${finalAttrs.version}";
hash = "sha256-QfnV30Pd6Wd0YD/Q8GPFX06z0trIRp2UP5wH7bEkHOc=";
hash = "sha256-d6u9qm6m5e6TumkBEzWgXaFCQ5I6VvXWyHlny2auYCQ=";
};
__darwinAllowLocalNetworking = true;

View file

@ -25,13 +25,13 @@
buildPythonPackage (finalAttrs: {
pname = "llama-cloud";
version = "2.5.0";
version = "2.7.0";
pyproject = true;
src = fetchPypi {
pname = "llama_cloud";
inherit (finalAttrs) version;
hash = "sha256-LibOVENmQkJ6pvGUJltIxS0Awsm3agc2dFg2TS352dk=";
hash = "sha256-JlwSx3r31VWDTq97tN8Qp7gPDq6mlGmzrnk1rbya8eQ=";
};
postPatch = ''

View file

@ -127,8 +127,8 @@ in
"sha256-gJM0o+V8YnmwVkgnRzR+Peaz45JuRpE8Hs6LRwfTeUQ=";
mypy-boto3-appstream =
buildMypyBoto3Package "appstream" "1.43.2"
"sha256-lNImOTgL0fRu5Kjv9w4j5eifxpv1qjhVRd1/4bIGfQY=";
buildMypyBoto3Package "appstream" "1.43.17"
"sha256-cs792cAqETR/V76EgDuwa8cnLJKfqBgCib6ah6c0Qfc=";
mypy-boto3-appsync =
buildMypyBoto3Package "appsync" "1.43.0"
@ -363,8 +363,8 @@ in
"sha256-pi0hMLpgYGrNU0/infONBg2WmES6NV0tfPgTjuRtWXk=";
mypy-boto3-customer-profiles =
buildMypyBoto3Package "customer-profiles" "1.43.12"
"sha256-oOc34HWsr7PyUpweMBi3pjorIWKFbi5qNXDdPBF2VXA=";
buildMypyBoto3Package "customer-profiles" "1.43.17"
"sha256-+/r5ocaFv/4ZF0PpJMSoGeZtiE3nkqaMLzG+sECyNss=";
mypy-boto3-databrew =
buildMypyBoto3Package "databrew" "1.43.0"
@ -630,12 +630,12 @@ in
"sha256-F+4rmr2/nI1TQCFnMY0dPxAXlgN3IBSfiQaDGup5HSw=";
mypy-boto3-iot =
buildMypyBoto3Package "iot" "1.43.2"
"sha256-4/pzyGy3MPDZiezsGyNskYyMZ7tR/Z8wvRWdH2GY8s8=";
buildMypyBoto3Package "iot" "1.43.17"
"sha256-/hR8GtbwvoVnseF0BQTcb8Jv8JIXcR0atxIcElZv1K4=";
mypy-boto3-iot-data =
buildMypyBoto3Package "iot-data" "1.43.0"
"sha256-JqxgidIcq9qZ7CzFWIRYC+vWTpzbOs2n/0ZfYTPkfPg=";
buildMypyBoto3Package "iot-data" "1.43.17"
"sha256-ZFp6f51JV8wTk6CBNLdl4lNkEy4xA027zxfYQdCICa0=";
mypy-boto3-iot-jobs-data =
buildMypyBoto3Package "iot-jobs-data" "1.43.0"
@ -970,8 +970,8 @@ in
"sha256-vo4FbTnm7vHPgBKlvGl7qZ/H/tuRkzrdzwBI82ewchQ=";
mypy-boto3-opensearchserverless =
buildMypyBoto3Package "opensearchserverless" "1.43.0"
"sha256-XrDuzW9pc2H2PS3h6rI781j9knG+ERTdEvOigumtZug=";
buildMypyBoto3Package "opensearchserverless" "1.43.17"
"sha256-NRfAfDljMbFnYHaUgTXModL5L9LLZDVMjBisQVHYC2Y=";
mypy-boto3-opsworks =
buildMypyBoto3Package "opsworks" "1.40.0"
@ -1162,8 +1162,8 @@ in
"sha256-c9VMHQmZxzxAPcmpo9pKlyJxWroRZZWvCMDUZ1+LxnA=";
mypy-boto3-s3control =
buildMypyBoto3Package "s3control" "1.43.0"
"sha256-OBw9qPJPv+TrySrNFXo+GCJUjf5fqT10VJujnmjmCqo=";
buildMypyBoto3Package "s3control" "1.43.17"
"sha256-egiSBx7pwuiEVoqnIXFyFa8vZwNCirohoYTIwCF7L7c=";
mypy-boto3-s3outposts =
buildMypyBoto3Package "s3outposts" "1.43.0"

View file

@ -0,0 +1,57 @@
{
lib,
buildPythonPackage,
fetchFromGitHub,
hatchling,
numpy,
pyyaml,
redis,
pydantic,
tenacity,
ml-dtypes,
python-ulid,
jsonpath-ng,
}:
buildPythonPackage (finalAttrs: {
pname = "redisvl";
version = "0.19.0";
pyproject = true;
src = fetchFromGitHub {
owner = "redis";
repo = "redis-vl-python";
tag = "v${finalAttrs.version}";
hash = "sha256-x8HotooGv1u5uGls1Y9HiioVzpF+MT6oYspdmZUpgh0=";
};
build-system = [ hatchling ];
dependencies = [
numpy
pyyaml
redis
pydantic
tenacity
ml-dtypes
python-ulid
jsonpath-ng
];
pythonImportsCheck = [ "redisvl" ];
# tests require a live Redis server with the search/vector module
doCheck = false;
meta = {
description = "Python client library and CLI for using Redis as a vector database";
homepage = " https://redisvl.com";
changelog = "https://github.com/redis/redis-vl-python/releases/tag/v${finalAttrs.version}";
license = lib.licenses.mit;
mainProgram = "rvl";
maintainers = with lib.maintainers; [
codgician
hythera
];
};
})

View file

@ -9,14 +9,14 @@
buildPythonPackage (finalAttrs: {
pname = "tencentcloud-sdk-python";
version = "3.1.104";
version = "3.1.105";
pyproject = true;
src = fetchFromGitHub {
owner = "TencentCloud";
repo = "tencentcloud-sdk-python";
tag = finalAttrs.version;
hash = "sha256-xdvKnNu6TOSjG4ustupXlWk7GQvZolNzPvg/nSuuDaI=";
hash = "sha256-Ru3aykWrA1kOtsYv8gp/m7rTWBzEU+hVi2jOCYhjduQ=";
};
build-system = [ setuptools ];

View file

@ -15,11 +15,11 @@ mkRocqDerivation {
in
with lib.versions;
lib.switch rocq-core.rocq-version [
(case (range "9.0" "9.2") "1.0.0")
(case (range "9.0" "9.2") "1.1.0")
] null;
release = {
"1.0.0".sha256 = "sha256-srDOrGC4h21O9MIHfmOMJ0BKQhamaWyzQT72TwgfDYc=";
"1.1.0".sha256 = "sha256-OszFXGLnm0rGAZVRCq/riQUK1DuhPyfv49GBePkQWAI=";
};
releaseRev = v: "v${v}";
@ -39,11 +39,11 @@ mkRocqDerivation {
'';
buildPhase = ''
etc/with-rocq-wrap.sh dune build -p micromega-plugin @install ''${enableParallelBuilding:+-j $NIX_BUILD_CORES}
etc/with-rocq-wrap.sh dune build -p rocq-micromega-plugin @install ''${enableParallelBuilding:+-j $NIX_BUILD_CORES}
'';
installPhase = ''
etc/with-rocq-wrap.sh dune install --root . micromega-plugin --prefix=$out --libdir $OCAMLFIND_DESTDIR
etc/with-rocq-wrap.sh dune install --root . rocq-micromega-plugin --prefix=$out --libdir $OCAMLFIND_DESTDIR
mkdir $out/lib/coq/
mv $OCAMLFIND_DESTDIR/coq $out/lib/coq/${rocq-core.rocq-version}
'';

View file

@ -14,13 +14,13 @@ let
in
stdenv.mkDerivation rec {
pname = "klipper";
version = "0.13.0-unstable-2026-03-21";
version = "0.13.0-unstable-2026-05-09";
src = fetchFromGitHub {
owner = "KevinOConnor";
repo = "klipper";
rev = "594ec7e1205450ff0753d19f0724bbe8b380465d";
sha256 = "sha256-a496Ayas2IsP3K320EXc/7VDAtrqUzF8OaKNKBWf8lQ=";
rev = "4767a8ed97c57e4bb2ecf60fd72e345f58dfa3fc";
sha256 = "sha256-ZwPy1Et0ftCX8haogRSOUm1et2pvYZxvdsuM74acu6Q=";
};
sourceRoot = "${src.name}/klippy";

View file

@ -1924,16 +1924,6 @@ with pkgs;
ceph-client = ceph.client;
ceph-dev = ceph;
clementine = libsForQt5.callPackage ../applications/audio/clementine {
gst_plugins = with gst_all_1; [
gst-plugins-base
gst-plugins-good
gst-plugins-ugly
gst-libav
];
protobuf = protobuf_21;
};
inherit (callPackage ../applications/networking/remote/citrix-workspace { })
citrix_workspace_26_01_0
citrix_workspace_25_08_10
@ -8651,10 +8641,6 @@ with pkgs;
cygwin = recurseIntoAttrs (callPackages ../os-specific/cygwin { });
wpa_supplicant = callPackage ../os-specific/linux/wpa_supplicant { };
wpa_supplicant_gui = libsForQt5.callPackage ../os-specific/linux/wpa_supplicant/gui.nix { };
inherit
({
zfs_2_3 = callPackage ../os-specific/linux/zfs/2_3.nix {
@ -11253,10 +11239,6 @@ with pkgs;
spyder = with python3.pkgs; toPythonApplication spyder;
tulip = libsForQt5.callPackage ../applications/science/misc/tulip {
python3 = python312; # fails to build otherwise
};
### SCIENCE / PHYSICS
hepmc3 = callPackage ../development/libraries/physics/hepmc3 {

View file

@ -16908,6 +16908,8 @@ self: super: with self; {
redis-om = callPackage ../development/python-modules/redis-om { };
redisvl = callPackage ../development/python-modules/redisvl { };
redshift-connector = callPackage ../development/python-modules/redshift-connector { };
reedsolo = callPackage ../development/python-modules/reedsolo { };