Merge branch 'master' into current

This commit is contained in:
2025-07-16 17:17:13 +02:00
49 changed files with 540 additions and 317 deletions
-6
View File
@@ -5471,12 +5471,6 @@
name = "Dima";
keys = [ { fingerprint = "1C4E F4FE 7F8E D8B7 1E88 CCDF BAB1 D15F B7B4 D4CE"; } ];
};
d-xo = {
email = "hi@d-xo.org";
github = "d-xo";
githubId = 6689924;
name = "David Terry";
};
d3vil0p3r = {
name = "Antonio Voza";
email = "vozaanthony@gmail.com";
@@ -120,6 +120,10 @@
- `services.ntpd-rs` now performs configuration validation.
- `services.postsrsd` now automatically integrates with the local Postfix instance, when enabled. This behavior can disabled using the [services.postsrsd.configurePostfix](#opt-services.postsrsd.configurePostfix) option.
- `services.pfix-srsd` now automatically integrates with the local Postfix instance, when enabled. This behavior can disabled using the [services.pfix-srsd.configurePostfix](#opt-services.pfix-srsd.configurePostfix) option.
- `services.monero` now includes the `environmentFile` option for adding secrets to the Monero daemon config.
- `amdgpu` kernel driver overdrive mode can now be enabled by setting [hardware.amdgpu.overdrive.enable](#opt-hardware.amdgpu.overdrive.enable) and customized through [hardware.amdgpu.overdrive.ppfeaturemask](#opt-hardware.amdgpu.overdrive.ppfeaturemask).
+40 -17
View File
@@ -4,6 +4,10 @@
pkgs,
...
}:
let
cfg = config.services.pfix-srsd;
in
{
###### interface
@@ -32,27 +36,46 @@
type = lib.types.path;
default = "/var/lib/pfix-srsd/secrets";
};
configurePostfix = lib.mkOption {
type = lib.types.bool;
default = true;
description = ''
Whether to configure the required settings to use pfix-srsd in the local Postfix instance.
'';
};
};
};
###### implementation
config = lib.mkIf config.services.pfix-srsd.enable {
environment = {
systemPackages = [ pkgs.pfixtools ];
};
systemd.services.pfix-srsd = {
description = "Postfix sender rewriting scheme daemon";
before = [ "postfix.service" ];
#note that we use requires rather than wants because postfix
#is unable to process (almost) all mail without srsd
requiredBy = [ "postfix.service" ];
serviceConfig = {
Type = "forking";
PIDFile = "/run/pfix-srsd.pid";
ExecStart = "${pkgs.pfixtools}/bin/pfix-srsd -p /run/pfix-srsd.pid -I ${config.services.pfix-srsd.domain} ${config.services.pfix-srsd.secretsFile}";
config = lib.mkMerge [
(lib.mkIf (cfg.enable && cfg.configurePostfix && config.services.postfix.enable) {
services.postfix.config = {
sender_canonical_maps = [ "tcp:127.0.0.1:10001" ];
sender_canonical_classes = [ "envelope_sender" ];
recipient_canonical_maps = [ "tcp:127.0.0.1:10002" ];
recipient_canonical_classes = [ "envelope_recipient" ];
};
};
};
})
(lib.mkIf cfg.enable {
environment = {
systemPackages = [ pkgs.pfixtools ];
};
systemd.services.pfix-srsd = {
description = "Postfix sender rewriting scheme daemon";
before = [ "postfix.service" ];
#note that we use requires rather than wants because postfix
#is unable to process (almost) all mail without srsd
requiredBy = [ "postfix.service" ];
serviceConfig = {
Type = "forking";
PIDFile = "/run/pfix-srsd.pid";
ExecStart = "${pkgs.pfixtools}/bin/pfix-srsd -p /run/pfix-srsd.pid -I ${config.services.pfix-srsd.domain} ${config.services.pfix-srsd.secretsFile}";
};
};
})
];
}
+1 -14
View File
@@ -785,12 +785,6 @@ in
description = "Maps to be compiled and placed into /var/lib/postfix/conf.";
};
useSrs = lib.mkOption {
type = lib.types.bool;
default = false;
description = "Whether to enable sender rewriting scheme";
};
};
};
@@ -808,8 +802,6 @@ in
systemPackages = [ pkgs.postfix ];
};
services.pfix-srsd.enable = config.services.postfix.useSrs;
services.mail.sendmailSetuidWrapper = lib.mkIf config.services.postfix.setSendmail {
program = "sendmail";
source = "${pkgs.postfix}/bin/sendmail";
@@ -1002,12 +994,6 @@ in
] ++ lib.optional haveAliases "$alias_maps";
}
// lib.optionalAttrs (cfg.dnsBlacklists != [ ]) { smtpd_client_restrictions = clientRestrictions; }
// lib.optionalAttrs cfg.useSrs {
sender_canonical_maps = [ "tcp:127.0.0.1:10001" ];
sender_canonical_classes = [ "envelope_sender" ];
recipient_canonical_maps = [ "tcp:127.0.0.1:10002" ];
recipient_canonical_classes = [ "envelope_recipient" ];
}
// lib.optionalAttrs cfg.enableHeaderChecks {
header_checks = [ "regexp:/etc/postfix/header_checks" ];
}
@@ -1190,5 +1176,6 @@ in
[ "services" "postfix" "config" "smtp_tls_security_level" ]
(config: lib.mkIf config.services.postfix.useDane "dane")
)
(lib.mkRenamedOptionModule [ "services" "postfix" "useSrs" ] [ "services" "pfix-srsd" "enable" ])
];
}
+284 -93
View File
@@ -2,37 +2,67 @@
config,
lib,
pkgs,
utils,
...
}:
let
cfg = config.services.postsrsd;
runtimeDirectoryName = "postsrsd";
runtimeDirectory = "/run/${runtimeDirectoryName}";
# TODO: follow RFC 42, but we need a libconfuse format first:
# https://github.com/NixOS/nixpkgs/issues/401565
# Arrays in `libconfuse` look like this: {"Life", "Universe", "Everything"}
# See https://www.nongnu.org/confuse/tutorial-html/ar01s03.html.
#
# Note: We're using `builtins.toJSON` to escape strings, but JSON strings
# don't have exactly the same semantics as libconfuse strings. For example,
# "${F}" gets treated as an env var reference, see above issue for details.
libconfuseDomains = "{ " + lib.concatMapStringsSep ", " builtins.toJSON cfg.domains + " }";
configFile = pkgs.writeText "postsrsd.conf" ''
secrets-file = "''${CREDENTIALS_DIRECTORY}/secrets-file"
domains = ${libconfuseDomains}
separator = "${cfg.separator}"
socketmap = "unix:${cfg.socketPath}"
# Disable postsrsd's jailing in favor of confinement with systemd.
unprivileged-user = ""
chroot-dir = ""
'';
inherit (lib)
concatMapStringsSep
concatMapAttrsStringSep
isBool
isFloat
isInt
isPath
isString
isList
mkEnableOption
mkPackageOption
mkRemovedOptionModule
mkRenamedOptionModule
;
# This is a implementation of a simple libconfuse config renderer sufficient
# for the postsrsd configuration file complexity.
# TODO: Replace with pkgs.formats.libconfuse, once implemented (https://github.com/NixOS/nixpkgs/issues/401565)
renderValue =
value:
if isBool value then
if value then "true" else "false"
else if isString value || isPath value then
builtins.toJSON value # for escaping
else if isInt value || isFloat value then
toString value
else if isList value then
"{${concatMapStringsSep "," renderValue value}}"
else
throw "postsrsd: unsupported value type in settings option";
renderAttr =
attrs: concatMapAttrsStringSep "\n" (name: value: "${name} = ${renderValue value}") attrs;
configFile = pkgs.writeText "postsrsd.conf" (
renderAttr (lib.filterAttrsRecursive (_: v: v != null) cfg.settings)
);
in
{
imports =
map
[
(mkRemovedOptionModule [ "services" "postsrsd" "socketPath" ] ''
Configure/reference `services.postsrsd.settings.socketmap` instead. Note that its now required to start with the `inet:` or `unix:` prefix.
'')
(mkRenamedOptionModule
[ "services" "postsrsd" "domains" ]
[ "services" "postsrsd" "settings" "domains" ]
)
(mkRenamedOptionModule
[ "services" "postsrsd" "separator" ]
[ "services" "postsrsd" "settings" "separator" ]
)
]
++ map
(
name:
lib.mkRemovedOptionModule [ "services" "postsrsd" name ] ''
@@ -53,33 +83,140 @@ in
options = {
services.postsrsd = {
enable = lib.mkOption {
type = lib.types.bool;
default = false;
description = "Whether to enable the postsrsd SRS server for Postfix.";
};
enable = mkEnableOption "the postsrsd SRS server for Postfix.";
package = mkPackageOption pkgs "postsrsd" { };
secretsFile = lib.mkOption {
type = lib.types.path;
default = "/var/lib/postsrsd/postsrsd.secret";
description = "Secret keys used for signing and verification";
description = ''
Secret keys used for signing and verification.
::: {.note}
The secret will be generated, if it does not exist at the given path.
:::
'';
};
domains = lib.mkOption {
type = lib.types.listOf lib.types.str;
description = "Domain names for rewrite";
default = [ config.networking.hostName ];
defaultText = lib.literalExpression "[ config.networking.hostName ]";
settings = lib.mkOption {
type = lib.types.submodule {
freeformType =
with lib.types;
attrsOf (oneOf [
bool
float
int
path
str
(listOf str)
]);
options = {
domains = lib.mkOption {
type = with lib.types; listOf str;
default = [ ];
example = [ "example.com" ];
description = ''
List of local domains, that do not require rewriting.
'';
};
secrets-file = lib.mkOption {
type = lib.types.str;
default = "\${CREDENTIALS_DIRECTORY}/secrets-file";
readOnly = true;
description = ''
Path to the file containing the secret keys.
::: {.note}
Secrets are passed using `LoadCredential=` on the systemd unit,
so this options is read-only.
Configure {option}`services.postsrsd.secretsFile` instead.
'';
};
separator = lib.mkOption {
type = lib.types.enum [
"-"
"="
"+"
];
default = "=";
description = ''
SRS tag separator used in generated sender addresses.
Unless you have a very good reason, you should leave this
setting at its default.
'';
};
srs-domain = lib.mkOption {
type = with lib.types; nullOr str;
default = null;
example = "srs.example.com";
description = ''
Dedicated mail domain used for ephemeral SRS envelope addresses.
Recommended to configure, when hosting multiple unrelated mail
domains (e.g. for different customers), to prevent privacy
issues.
Set to `null` to not configure any `srs-domain`.
'';
};
socketmap = lib.mkOption {
type = lib.types.strMatching "^(unix|inet):.+";
default = "unix:/run/postsrsd/socket";
example = "inet:localhost:10003";
description = ''
Listener configuration in socket map format native to Postfix configuration.
'';
};
chroot-dir = lib.mkOption {
type = lib.types.str;
default = "";
readOnly = true;
description = ''
Path to chroot into at runtime as an additional layer of protection.
::: {.note}
We confine the runtime environment through systemd hardening instead, so this option is read-only.
:::
'';
};
unprivileged-user = lib.mkOption {
type = lib.types.str;
default = "";
readOnly = true;
description = ''
Unprivileged user to drop privileges to.
::: {.note}
Our systemd unit never runs postsrsd as a privileged process, so this option is read-only.
:::
'';
};
};
};
default = { };
description = ''
Configuration options for the postsrsd.conf file.
See the [example configuration](https://github.com/roehling/postsrsd/blob/${cfg.package.version}/doc/postsrsd.conf) for possible values.
'';
};
separator = lib.mkOption {
type = lib.types.enum [
"-"
"="
"+"
];
default = "=";
description = "First separator character in generated addresses";
configurePostfix = lib.mkOption {
type = lib.types.bool;
default = true;
description = ''
Whether to configure the required settings to use postsrsd in the local Postfix instance.
'';
};
user = lib.mkOption {
@@ -93,66 +230,120 @@ in
default = "postsrsd";
description = "Group for the daemon";
};
socketPath = lib.mkOption {
type = lib.types.path;
default = "${runtimeDirectory}/socket";
readOnly = true;
description = ''
Path to the Unix socket for connecting to postsrsd.
Read-only, intended for usage when integrating postsrsd into other NixOS config.'';
};
};
};
config = lib.mkIf cfg.enable {
users.users = lib.optionalAttrs (cfg.user == "postsrsd") {
postsrsd = {
group = cfg.group;
uid = config.ids.uids.postsrsd;
config = lib.mkMerge [
(lib.mkIf (cfg.enable && cfg.configurePostfix && config.services.postfix.enable) {
services.postfix.config = {
# https://github.com/roehling/postsrsd#configuration
sender_canonical_maps = "socketmap:${cfg.settings.socketmap}:forward";
sender_canonical_classes = "envelope_sender";
recipient_canonical_maps = "socketmap:${cfg.settings.socketmap}:reverse";
recipient_canonical_classes = [
"envelope_recipient"
"header_recipient"
];
};
};
users.groups = lib.optionalAttrs (cfg.group == "postsrsd") {
postsrsd.gid = config.ids.gids.postsrsd;
};
users.users.postfix.extraGroups = [ cfg.group ];
})
systemd.services.postsrsd-generate-secrets = {
path = [ pkgs.coreutils ];
script = ''
if [ -e "${cfg.secretsFile}" ]; then
echo "Secrets file exists. Nothing to do!"
else
echo "WARNING: secrets file not found, autogenerating!"
DIR="$(dirname "${cfg.secretsFile}")"
install -m 750 -o ${cfg.user} -g ${cfg.group} -d "$DIR"
install -m 600 -o ${cfg.user} -g ${cfg.group} <(dd if=/dev/random bs=18 count=1 | base64) "${cfg.secretsFile}"
fi
'';
serviceConfig = {
Type = "oneshot";
(lib.mkIf cfg.enable {
users.users = lib.optionalAttrs (cfg.user == "postsrsd") {
postsrsd = {
group = cfg.group;
uid = config.ids.uids.postsrsd;
};
};
};
systemd.services.postsrsd = {
description = "PostSRSd SRS rewriting server";
after = [
"network.target"
"postsrsd-generate-secrets.service"
];
before = [ "postfix.service" ];
wantedBy = [ "multi-user.target" ];
requires = [ "postsrsd-generate-secrets.service" ];
confinement.enable = true;
serviceConfig = {
ExecStart = "${lib.getExe pkgs.postsrsd} -C ${configFile}";
User = cfg.user;
Group = cfg.group;
PermissionsStartOnly = true;
RuntimeDirectory = runtimeDirectoryName;
LoadCredential = "secrets-file:${cfg.secretsFile}";
users.groups = lib.optionalAttrs (cfg.group == "postsrsd") {
postsrsd.gid = config.ids.gids.postsrsd;
};
};
};
systemd.services.postsrsd-generate-secrets = {
path = [ pkgs.coreutils ];
script = ''
if [ -e "${cfg.secretsFile}" ]; then
echo "Secrets file exists. Nothing to do!"
else
echo "WARNING: secrets file not found, autogenerating!"
DIR="$(dirname "${cfg.secretsFile}")"
install -m 750 -o ${cfg.user} -g ${cfg.group} -d "$DIR"
install -m 600 -o ${cfg.user} -g ${cfg.group} <(dd if=/dev/random bs=18 count=1 | base64) "${cfg.secretsFile}"
fi
'';
serviceConfig = {
Type = "oneshot";
};
};
environment.etc."postsrsd.conf".source = configFile;
systemd.services.postsrsd = {
description = "PostSRSd SRS rewriting server";
after = [
"network.target"
"postsrsd-generate-secrets.service"
];
before = [ "postfix.service" ];
wantedBy = [ "multi-user.target" ];
requires = [ "postsrsd-generate-secrets.service" ];
restartTriggers = [ configFile ];
serviceConfig = {
ExecStart = utils.escapeSystemdExecArgs [
(lib.getExe cfg.package)
"-C"
"/etc/postsrsd.conf"
];
User = cfg.user;
Group = cfg.group;
RuntimeDirectory = "postsrsd";
RuntimeDirectoryMode = "0750";
LoadCredential = "secrets-file:${cfg.secretsFile}";
CapabilityBoundingSet = [ "" ];
LockPersonality = true;
MemoryDenyWriteExecute = true;
NoNewPrivileges = true;
PrivateDevices = true;
PrivateMounts = true;
PrivateNetwork = lib.hasPrefix "unix:" cfg.settings.socketmap;
PrivateTmp = true;
PrivateUsers = true;
ProtectControlGroups = true;
ProtectHome = true;
ProtectHostname = true;
ProtectKernelLogs = true;
ProtectKernelModules = true;
ProtectKernelTunables = true;
ProtectSystem = "strict";
ProtectProc = "invisible";
ProcSubset = "pid";
RemoveIPC = true;
RestrictAddressFamilies =
if lib.hasPrefix "unix:" cfg.settings.socketmap then
[ "AF_UNIX" ]
else
[
"AF_INET"
"AF_INET6"
];
RestrictNamespaces = true;
RestrictRealtime = true;
RestrictSUIDSGID = true;
SystemCallArchitectures = "native";
SystemCallFilter = [
"@system-service"
"~@privileged @resources"
];
UMask = "0027";
};
};
})
];
# package version referenced in option documentation
meta.buildDocsInSandbox = false;
}
@@ -171,14 +171,6 @@ let
quic_bpf on;
''}
${optionalString cfg.experimentalZstdSettings ''
zstd on;
zstd_comp_level 9;
zstd_min_length 256;
zstd_static on;
zstd_types ${lib.concatStringsSep " " compressMimeTypes};
''}
${cfg.config}
${optionalString (cfg.eventsConfig != "" || cfg.config == "") ''
@@ -250,7 +242,7 @@ let
''
}
${optionalString cfg.recommendedZstdSettings ''
${optionalString cfg.experimentalZstdSettings ''
zstd on;
zstd_comp_level 9;
zstd_min_length 256;
-1
View File
@@ -5,7 +5,6 @@ let
in
{
name = "bazarr";
meta.maintainers = with lib.maintainers; [ d-xo ];
nodes.machine =
{ pkgs, ... }:
-3
View File
@@ -18,9 +18,6 @@ import ../make-test-python.nix (
in
{
name = "wg-quick";
meta = with pkgs.lib.maintainers; {
maintainers = [ d-xo ];
};
nodes = {
peer0 = peer {
@@ -89,6 +89,11 @@ stdenv.mkDerivation (finalAttrs: {
./force-enable-libheif.patch
];
# error: possibly undefined macro: AM_NLS
preAutoreconf = ''
cp ${gettext}/share/gettext/m4/nls.m4 m4macros
'';
nativeBuildInputs =
[
autoreconfHook # hardcode-plugin-interpreters.patch changes Makefile.am
+3 -3
View File
@@ -8,13 +8,13 @@
}:
stdenv.mkDerivation {
pname = "airwindows";
version = "0-unstable-2025-06-28";
version = "0-unstable-2025-07-06";
src = fetchFromGitHub {
owner = "airwindows";
repo = "airwindows";
rev = "8aedc304ed6fd44dd170cbfc6a43a3f138835af9";
hash = "sha256-pQOuhXypo55GqsoCmhpjQkSIsEOVL7y6xqmMqP8yzqI=";
rev = "4a19d80d3d2a64a8773ca319a5002ac5eefbf69c";
hash = "sha256-aMPe1D1/hIVY4DGKzmX/HUO04pZVBtivhVzoeG02emY=";
};
# we patch helpers because honestly im spooked out by where those variables
-1
View File
@@ -66,7 +66,6 @@ stdenv.mkDerivation rec {
homepage = "https://www.bazarr.media/";
sourceProvenance = with sourceTypes; [ binaryNativeCode ];
license = licenses.gpl3Only;
maintainers = with maintainers; [ d-xo ];
mainProgram = "bazarr";
platforms = platforms.all;
};
@@ -43,7 +43,6 @@ buildNpmPackage rec {
homepage = "https://github.com/janoside/btc-rpc-explorer";
license = lib.licenses.mit;
mainProgram = "btc-rpc-explorer";
maintainers = with lib.maintainers; [ d-xo ];
broken = true;
# At 2024-06-29
# https://hydra.nixos.org/build/264232177/nixlog/1
+3 -3
View File
@@ -6,17 +6,17 @@
rustPlatform.buildRustPackage rec {
pname = "cargo-llvm-lines";
version = "0.4.42";
version = "0.4.43";
src = fetchFromGitHub {
owner = "dtolnay";
repo = "cargo-llvm-lines";
rev = version;
hash = "sha256-qKdxnISussiyp1ylahS7qOdMfOGwJnlbWrgEHf/L2y0=";
hash = "sha256-fYoVPm3RxR1LZ8wJQpXQG3g69Fh7LLFwXZXmj+kr8zc=";
};
useFetchCargoVendor = true;
cargoHash = "sha256-Ppuc6Dx3Y4JJ8doEJPCbwnD1+dQSLRuPdWfab+3q2Ug=";
cargoHash = "sha256-yhZ2MKswFvzkMamI9np7CRsQO4D/sldumaLPzSNsHgA=";
meta = with lib; {
description = "Count the number of lines of LLVM IR across all instantiations of a generic function";
+3 -3
View File
@@ -7,17 +7,17 @@
rustPlatform.buildRustPackage rec {
pname = "cargo-nextest";
version = "0.9.99";
version = "0.9.100";
src = fetchFromGitHub {
owner = "nextest-rs";
repo = "nextest";
rev = "cargo-nextest-${version}";
hash = "sha256-I1m4dURisTa4qwUilb8s8bvTsfMSodbZQxRlNDViFeM=";
hash = "sha256-MbgX/n6TC5hz66gvRAc7A0xFWbF2Ec68gMxCgPFpeoQ=";
};
useFetchCargoVendor = true;
cargoHash = "sha256-f75yHVvxC+QhNmn1PUafviONLjrXhcNmMitFU06yAaQ=";
cargoHash = "sha256-jRBFjJB38JI9whFpImYlMx0znQj1+cdeu4Nc+nYc7OI=";
cargoBuildFlags = [
"-p"
+3 -3
View File
@@ -6,15 +6,15 @@
rustPlatform.buildRustPackage rec {
pname = "cargo-tally";
version = "1.0.65";
version = "1.0.66";
src = fetchCrate {
inherit pname version;
hash = "sha256-cvMB/hMq0LCfuXHX1Gg0c3i69T1uQWKIddUru5dcg7g=";
hash = "sha256-PC/gscMO7oYcsd/cVcP5WZYweWRsh23Z7Do/qeGjAOc=";
};
useFetchCargoVendor = true;
cargoHash = "sha256-ReVLeyQY08i1sH6IujeLK8y1+PfPm8BoYInzbTHHnlw=";
cargoHash = "sha256-00J8ip2fr/nphY0OXVOLKv7gaHitMziwsdJ4YBaYxog=";
meta = {
description = "Graph the number of crates that depend on your crate over time";
+3
View File
@@ -2,6 +2,7 @@
lib,
rustPlatform,
fetchFromGitHub,
stdenv,
versionCheckHook,
nix-update-script,
}:
@@ -20,6 +21,8 @@ rustPlatform.buildRustPackage (finalAttrs: {
useFetchCargoVendor = true;
cargoHash = "sha256-1u3oUbqhwHXD90ld70pjK2XPJe5hpUbJtU78QpIjAE8=";
env = lib.optionalAttrs stdenv.hostPlatform.isStatic { RUSTFLAGS = "-C relocation-model=static"; };
# skip flaky tests
checkFlags = [ "--skip=options::tests::test_detect_display_width" ];
-1
View File
@@ -67,7 +67,6 @@ buildGoModule {
gpl3Plus
];
maintainers = with maintainers; [
d-xo
happysalada
];
};
+3 -3
View File
@@ -6,17 +6,17 @@
rustPlatform.buildRustPackage rec {
pname = "esp-generate";
version = "0.4.0";
version = "0.5.0";
src = fetchFromGitHub {
owner = "esp-rs";
repo = "esp-generate";
rev = "v${version}";
hash = "sha256-4RF0XcDpUcMQ0u2FTRBnZdQDM7DlaI7pl5HukMbbbBE=";
hash = "sha256-rvgmmG0LhRb+eRdqmlCf514lzV0QGWPaJ8pnlTnxfvo=";
};
useFetchCargoVendor = true;
cargoHash = "sha256-c/BYf6SXOdI/K4t3fT4ycuILkIYCiSbHafLprSMvK8E=";
cargoHash = "sha256-ai8FUKHK/iHeUEgklZEDAMKoorXVDxGSZVrB7LahVV8=";
meta = {
description = "Template generation tool to create no_std applications targeting Espressif's chips";
+5 -20
View File
@@ -34,14 +34,14 @@ let
in
python.pkgs.buildPythonApplication rec {
pname = "esphome";
version = "2025.6.3";
version = "2025.7.0";
pyproject = true;
src = fetchFromGitHub {
owner = "esphome";
repo = "esphome";
tag = version;
hash = "sha256-3Xcxn12QKQg0jxdOPP7y01YaikvxmPPX9JL2JBvdsUM=";
hash = "sha256-EUnptlO9Ya6GWLP7FU3gWOAs2O5xzrHhyHr8LpomapY=";
};
build-system = with python.pkgs; [
@@ -82,6 +82,7 @@ python.pkgs.buildPythonApplication rec {
esphome-glyphsets
freetype-py
icmplib
jinja2
kconfiglib
packaging
paho-mqtt
@@ -135,25 +136,9 @@ python.pkgs.buildPythonApplication rec {
]
++ [ versionCheckHook ];
disabledTests = [
# race condition, also visible in upstream tests
# tests/dashboard/test_web_server.py:78: IndexError
"test_devices_page"
disabledTestPaths = [
# platformio builds; requires networking for dependency resolution
"test_api_message_size_batching"
"test_host_mode_basic"
"test_host_mode_batch_delay"
"test_host_mode_empty_string_options"
"test_host_mode_entity_fields"
"test_host_mode_fan_preset"
"test_host_mode_many_entities"
"test_host_mode_many_entities_multiple_connections"
"test_host_mode_noise_encryption"
"test_host_mode_noise_encryption_wrong_key"
"test_host_mode_reconnect"
"test_host_mode_with_sensor"
"test_large_message_batching"
"tests/integration"
];
preCheck = ''
+2 -2
View File
@@ -7,13 +7,13 @@
buildGoModule rec {
pname = "gatekeeper";
version = "3.19.2";
version = "3.19.3";
src = fetchFromGitHub {
owner = "open-policy-agent";
repo = "gatekeeper";
tag = "v${version}";
hash = "sha256-ksspmNq42Wn/4Uzi8omvzCCprP+ELHVGBImgi8GrMSk=";
hash = "sha256-FQ5Q9S/YvJQaa2mUWXv8huTK89SZ31UaFbBCEduGsyg=";
};
vendorHash = null;
-1
View File
@@ -40,6 +40,5 @@ buildNpmPackage rec {
description = "Implementation of the Handshake protocol";
homepage = "https://github.com/handshake-org/hsd";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ d-xo ];
};
}
@@ -7,13 +7,13 @@
buildNpmPackage rec {
pname = "lasuite-meet-frontend";
version = "0.1.27";
version = "0.1.28";
src = fetchFromGitHub {
owner = "suitenumerique";
repo = "meet";
tag = "v${version}";
hash = "sha256-EMhsQPrONaQmNJ/FFoYlP5KKXT8vm7LwUHmEZd0oZeE=";
hash = "sha256-zB27doGkWch3e1Lc0Q3TurQeplV7vOdzJ+G+MFZI3Og=";
};
sourceRoot = "source/src/frontend";
@@ -21,7 +21,7 @@ buildNpmPackage rec {
npmDeps = fetchNpmDeps {
inherit version src;
sourceRoot = "source/src/frontend";
hash = "sha256-7wXzcn6aGAkRUOCI6MU0AlPGngBWJtdbAfnZZDaMWec=";
hash = "sha256-ajN3mDIUn8uX+xc3zZmzsFWY8Y5ss9gVeV0s5kJV3fs=";
};
buildPhase = ''
+4 -2
View File
@@ -13,14 +13,14 @@ in
python.pkgs.buildPythonApplication rec {
pname = "lasuite-meet";
version = "0.1.27";
version = "0.1.28";
pyproject = true;
src = fetchFromGitHub {
owner = "suitenumerique";
repo = "meet";
tag = "v${version}";
hash = "sha256-EMhsQPrONaQmNJ/FFoYlP5KKXT8vm7LwUHmEZd0oZeE=";
hash = "sha256-zB27doGkWch3e1Lc0Q3TurQeplV7vOdzJ+G+MFZI3Og=";
};
sourceRoot = "source/src/backend";
@@ -28,6 +28,8 @@ python.pkgs.buildPythonApplication rec {
patches = [
# Support configuration throught environment variables for SECURE_*
./secure_settings.patch
# Add PKCE option
./pkce.patch
];
build-system = with python.pkgs; [ setuptools ];
+20
View File
@@ -0,0 +1,20 @@
--- a/meet/settings.py
+++ b/meet/settings.py
@@ -430,6 +430,17 @@ class Base(Configuration):
OIDC_RP_SCOPES = values.Value(
"openid email", environ_name="OIDC_RP_SCOPES", environ_prefix=None
)
+ OIDC_USE_PKCE = values.BooleanValue(
+ default=False, environ_name="OIDC_USE_PKCE", environ_prefix=None
+ )
+ OIDC_PKCE_CODE_CHALLENGE_METHOD = values.Value(
+ default="S256",
+ environ_name="OIDC_PKCE_CODE_CHALLENGE_METHOD",
+ environ_prefix=None,
+ )
+ OIDC_PKCE_CODE_VERIFIER_SIZE = values.IntegerValue(
+ default=64, environ_name="OIDC_PKCE_CODE_VERIFIER_SIZE", environ_prefix=None
+ )
LOGIN_REDIRECT_URL = values.Value(
None, environ_name="LOGIN_REDIRECT_URL", environ_prefix=None
)
+10 -2
View File
@@ -813,8 +813,8 @@
"org/bouncycastle/bcutil-jdk18on/maven-metadata": {
"xml": {
"groupId": "org.bouncycastle",
"lastUpdated": "20250114201150",
"release": "1.80"
"lastUpdated": "20250604080934",
"release": "1.81"
}
},
"org/checkerframework#checker-qual/3.48.3": {
@@ -1076,6 +1076,10 @@
"org/jetbrains/kotlin#kotlin-stdlib-common/1.8.20": {
"pom": "sha256-YFWRuJs3ISfmspxpMl+i9qjEb0aMRdCUEOeOtZ/IChc="
},
"org/jetbrains/kotlin#kotlin-stdlib-common/1.9.0": {
"jar": "sha256-KDJ0IEvXwCB4nsRvj45yr0JE1/VQszkqV+XKAGrXqiw=",
"pom": "sha256-NmDTanD+s6vknxG5BjPkHTYnNXbwcbDhCdqbOg3wgqU="
},
"org/jetbrains/kotlin#kotlin-stdlib-common/2.0.20": {
"module": "sha256-tZe3Be/U4tgnFCCQw2BUJlVI7VG09SN38r+JxFlNU28=",
"pom": "sha256-o11/wINw+TE6S5U7zu7d2F4OHnLTEGLTe/jHeBs/b18="
@@ -1092,6 +1096,10 @@
"jar": "sha256-45i2eXdiJxi/GP+ZtznH2doGDzP7RYouJSAyIcFq8BA=",
"pom": "sha256-OkYiFKM26ZVod2lTGx43sMgdjhDJlJzV6nrh14A6AjI="
},
"org/jetbrains/kotlin#kotlin-stdlib/1.9.0": {
"jar": "sha256-Na7/vi21qkRgcs7lD87ki3+p4vxRyjfAzH19C8OdlS4=",
"pom": "sha256-N3UiY/Ysw+MlCFbiiO5Kc9QQLXJqd2JwNPlIBsjBCso="
},
"org/jetbrains/kotlin#kotlin-stdlib/2.0.20": {
"jar": "sha256-+xaVlmWaUYNXxLLBb0PcdascSYBWXtS0oxegUOXjkAY=",
"module": "sha256-3AUdwExqGW8tBtDTya8zufErybT+E5rhKQFAUII2tns=",
-1
View File
@@ -25,7 +25,6 @@ buildGoModule rec {
description = "Generate QRCode to connect apps to lnd Resources";
license = licenses.mit;
homepage = "https://github.com/LN-Zap/lndconnect";
maintainers = [ maintainers.d-xo ];
platforms = platforms.linux;
mainProgram = "lndconnect";
};
+3 -3
View File
@@ -7,7 +7,7 @@
installShellFiles,
}:
let
version = "0.4.51";
version = "0.4.52";
in
rustPlatform.buildRustPackage rec {
inherit version;
@@ -17,11 +17,11 @@ rustPlatform.buildRustPackage rec {
owner = "rust-lang";
repo = "mdBook";
tag = "v${version}";
hash = "sha256-d211IEXtHiRhD+rXGUaDAbcDwKJZqr0fmkxTgN4RkC0=";
hash = "sha256-a3GSMz1+8Ve5cp4x1NjBlsCU/wMC4Jl3/H9qx7+1XlI=";
};
useFetchCargoVendor = true;
cargoHash = "sha256-3VI9WZiFiyfQRQk7gZBLXA/RRfCuEBze/MWI7OUGBmc=";
cargoHash = "sha256-wvTixSVHXglJM+nBMulZNZKF8pZfNd2G8Z+1PlAWmpk=";
nativeBuildInputs = [ installShellFiles ];
+2 -2
View File
@@ -6,14 +6,14 @@
}:
stdenv.mkDerivation rec {
version = "1.0.15";
version = "1.0.17";
pname = "mdp";
src = fetchFromGitHub {
owner = "visit1985";
repo = "mdp";
rev = version;
sha256 = "1m9a0vvyw2m55cn7zcq011vrjkiaj5a3g5g6f2dpq953gyi7gff9";
sha256 = "sha256-g9+bqMoUpcRL1pcNqaeMR3l5uHuiEpDZj/6YmyOSn7k=";
};
makeFlags = [ "PREFIX=$(out)" ];
+6 -1
View File
@@ -21,6 +21,9 @@
# runtime deps
gpgme,
gnum4,
withNotmuch ? true,
notmuch,
}:
rustPlatform.buildRustPackage rec {
@@ -66,7 +69,9 @@ rustPlatform.buildRustPackage rec {
installManPage meli/docs/*.{1,5,7}
wrapProgram $out/bin/meli \
--prefix LD_LIBRARY_PATH : ${lib.makeLibraryPath [ gpgme ]} \
--prefix LD_LIBRARY_PATH : ${
lib.makeLibraryPath ([ gpgme ] ++ lib.optional withNotmuch notmuch)
} \
--prefix PATH : ${lib.makeBinPath [ gnum4 ]}
'';
@@ -10,15 +10,15 @@
buildGoModule rec {
pname = "mongodb-atlas-cli";
version = "1.45.1";
version = "1.46.2";
vendorHash = "sha256-4qkB2PdMiMtyxdHodwR+w9Lbt1JaT1/wUS+h23ajDD4=";
vendorHash = "sha256-z42tJJD/iK9GDnYxdeMYogaMviGABizxX9fdWL8vVik=";
src = fetchFromGitHub {
owner = "mongodb";
repo = "mongodb-atlas-cli";
rev = "refs/tags/atlascli/v${version}";
sha256 = "sha256-Pk7C8CzhRB1XRkqHPECIeaFSwWEWZqJ4sTONTEiqZvg=";
sha256 = "sha256-yg6GSG4TXPj4n8s4TK/i7NveJXMAQczONSrLn39PKVI=";
};
nativeBuildInputs = [ installShellFiles ];
+3 -3
View File
@@ -8,13 +8,13 @@
}:
stdenv.mkDerivation (finalAttrs: {
pname = "moonlight";
version = "1.3.22";
version = "1.3.23";
src = fetchFromGitHub {
owner = "moonlight-mod";
repo = "moonlight";
tag = "v${finalAttrs.version}";
hash = "sha256-mn6f4ci5C2jkyxgmBHQ4dI9V0/20DlyS6EbQz4w7znc=";
hash = "sha256-LVXO+V182R2KmNfTJjpYx/yYk97+Kvzul7gzSM72JJM=";
};
nativeBuildInputs = [
@@ -28,7 +28,7 @@ stdenv.mkDerivation (finalAttrs: {
buildInputs = [ nodejs_22 ];
fetcherVersion = 1;
hash = "sha256-vrSfrAnLc30kba+8VOPawdp8KaQVUhsD6mUq+YdAJTY=";
hash = "sha256-gmv0W4PluHoiZRSAJuBTDo3CjmJOM1ZHFbxrt7CsJaE=";
};
env = {
+3 -6
View File
@@ -8,20 +8,17 @@
rustPlatform.buildRustPackage rec {
pname = "nix-ld";
version = "2.0.4";
version = "2.0.5";
src = fetchFromGitHub {
owner = "nix-community";
repo = "nix-ld";
rev = version;
hash = "sha256-ULoitJD5bMu0pFvh35cY5EEYywxj4e2fYOpqZwKB1lk=";
hash = "sha256-7ev9V128h7ZWi9JsFje6X1OzE5maJfmBMkxohxQysOA=";
};
# Submitted upstream: https://github.com/nix-community/nix-ld/pull/169
patches = [ ./rust-1.88.patch ];
useFetchCargoVendor = true;
cargoHash = "sha256-cDbszVjZcomag0HZvXM+17SjDiGS07iPj78zgsXstHc=";
cargoHash = "sha256-YR7j2dvZHMBUe0lW7GYFxJV11ZM+gX13NHj2uf3UEbQ=";
hardeningDisable = [ "stackprotector" ];
-33
View File
@@ -1,33 +0,0 @@
diff --git a/src/arch.rs b/src/arch.rs
index a998697..45ec2cb 100644
--- a/src/arch.rs
+++ b/src/arch.rs
@@ -140,7 +140,7 @@ cfg_match! {
target_arch = "x86_64" => {
pub const ENTRY_TRAMPOLINE: Option<unsafe extern "C" fn() -> !> = Some(entry_trampoline);
- #[naked]
+ #[unsafe(naked)]
unsafe extern "C" fn entry_trampoline() -> ! {
core::arch::naked_asm!(
"lea r10, [rip + {context}]",
@@ -159,7 +159,7 @@ cfg_match! {
target_arch = "aarch64" => {
pub const ENTRY_TRAMPOLINE: Option<unsafe extern "C" fn() -> !> = Some(entry_trampoline);
- #[naked]
+ #[unsafe(naked)]
unsafe extern "C" fn entry_trampoline() -> ! {
core::arch::naked_asm!(
"adrp x8, {context}",
diff --git a/src/sys.rs b/src/sys.rs
index 109d809..bf085d9 100644
--- a/src/sys.rs
+++ b/src/sys.rs
@@ -181,6 +181,5 @@ pub fn new_slice_leak(size: usize) -> Option<&'static mut [u8]> {
#[cfg(not(test))]
#[lang = "eh_personality"]
-#[no_mangle]
pub extern fn rust_eh_personality() {
}
+14 -6
View File
@@ -2,26 +2,34 @@
lib,
buildGoModule,
fetchFromGitHub,
nix-update-script,
}:
buildGoModule rec {
pname = "nom";
version = "2.10.0";
version = "2.13.0";
src = fetchFromGitHub {
owner = "guyfedwards";
repo = "nom";
tag = "v${version}";
hash = "sha256-F1lKBfDufotQjVNJ1yMosRl1UlGMBlYCTHXdCzeVflg=";
hash = "sha256-dGQDxjvB5OX4ot22zt2zFu3T3h/clSRlfxhCpkPRePU=";
};
vendorHash = "sha256-d5KTDZKfuzv84oMgmsjJoXGO5XYLVKxOB5XehqgRvYw=";
meta = with lib; {
ldflags = [
"-X 'main.version=${version}'"
];
passthru.updateScript = nix-update-script { };
meta = {
homepage = "https://github.com/guyfedwards/nom";
changelog = "https://github.com/guyfedwards/nom/releases/tag/v${version}";
description = "RSS reader for the terminal";
platforms = platforms.linux ++ platforms.darwin;
license = licenses.gpl3Only;
maintainers = with maintainers; [
platforms = lib.platforms.linux ++ lib.platforms.darwin;
license = lib.licenses.gpl3Only;
maintainers = with lib.maintainers; [
nadir-ishiguro
matthiasbeyer
];
+3 -3
View File
@@ -6,16 +6,16 @@
buildGoModule rec {
pname = "pluto";
version = "5.21.8";
version = "5.22.0";
src = fetchFromGitHub {
owner = "FairwindsOps";
repo = "pluto";
rev = "v${version}";
hash = "sha256-41ud7SRaivhmtBY6ekKIpRijTuLqJ/tLi0dTHDsGAps=";
hash = "sha256-fqN6uj/YL/sch16mmB/smJtbzCFlUa9yvCLa8sXJ/u4=";
};
vendorHash = "sha256-4kiLgwr8wr/L4anxgZVAE6IFdbBvTgcUlf5KIcT+lRk=";
vendorHash = "sha256-59mRVfQ2rduTvIJE1l/j3K+PY3OEMfNpjjYg3hqNUhs=";
ldflags = [
"-w"
+6 -32
View File
@@ -1,5 +1,8 @@
{
lib,
callPackage,
coreutils,
gnugrep,
stdenv,
fetchurl,
pkg-config,
@@ -16,17 +19,6 @@
nixosTests,
writeShellScript,
versionCheckHook,
# for update.nix
writeScript,
common-updater-scripts,
bash,
coreutils,
curl,
gnugrep,
gnupg,
gnused,
nix,
}:
let
@@ -90,13 +82,8 @@ stdenv.mkDerivation (finalAttrs: {
# https://gitlab.torproject.org/tpo/onion-services/onion-support/-/wikis/Documentation/PoW-FAQ#compiling-c-tor-with-the-pow-defense
[ "--enable-gpl" ]
++
# cross compiles correctly but needs the following
lib.optionals (stdenv.hostPlatform != stdenv.buildPlatform) [ "--disable-tool-name-check" ]
++
# sandbox is broken on aarch64-linux https://gitlab.torproject.org/tpo/core/tor/-/issues/40599
lib.optionals (stdenv.hostPlatform.isLinux && stdenv.hostPlatform.isAarch64) [
"--disable-seccomp"
];
# cross compiles correctly but needs the following
lib.optionals (stdenv.hostPlatform != stdenv.buildPlatform) [ "--disable-tool-name-check" ];
NIX_CFLAGS_LINK = lib.optionalString stdenv.cc.isGNU "-lgcc_s";
@@ -126,20 +113,7 @@ stdenv.mkDerivation (finalAttrs: {
passthru = {
tests.tor = nixosTests.tor;
updateScript = import ./update.nix {
inherit lib;
inherit
writeScript
common-updater-scripts
bash
coreutils
curl
gnupg
gnugrep
gnused
nix
;
};
updateScript = callPackage ./update.nix { };
};
meta = {
@@ -92,7 +92,6 @@ stdenv.mkDerivation rec {
zx2c4
globin
ma27
d-xo
];
mainProgram = "wg";
platforms = platforms.unix;
@@ -0,0 +1,59 @@
{
lib,
buildPythonPackage,
fetchFromGitHub,
django,
dj-database-url,
inflection,
pydantic,
pytestCheckHook,
pytest-django,
djangorestframework,
pyyaml,
setuptools,
syrupy,
uritemplate,
}:
buildPythonPackage rec {
pname = "django-pydantic-field";
version = "0.3.13";
pyproject = true;
src = fetchFromGitHub {
owner = "surenkov";
repo = "django-pydantic-field";
tag = "v${version}";
hash = "sha256-RxZxDQZdFiT67YcAQtf4t42XU3XfzT3KS7ZCyfHZUOs=";
};
build-system = [ setuptools ];
dependencies = [
django
pydantic
];
nativeCheckInputs = [
pytestCheckHook
pytest-django
djangorestframework
dj-database-url
inflection
pyyaml
syrupy
uritemplate
];
preCheck = ''
export DJANGO_SETTINGS_MODULE=tests.settings.django_test_settings
'';
meta = with lib; {
changelog = "https://github.com/surenkov/django-pydantic-field/releases/tag/${src.tag}";
description = "Django JSONField with Pydantic models as a Schema";
homepage = "https://github.com/surenkov/django-pydantic-field";
maintainers = with lib.maintainers; [ kiara ];
license = licenses.mit;
};
}
@@ -5,6 +5,7 @@
# build-system
poetry-core,
setuptools,
# dependencies
jsonref,
@@ -28,18 +29,19 @@
buildPythonPackage rec {
pname = "docling-core";
version = "2.31.2";
version = "2.43.0";
pyproject = true;
src = fetchFromGitHub {
owner = "docling-project";
repo = "docling-core";
tag = "v${version}";
hash = "sha256-O0GfEoWImDjehCPb8erBdY2gYalj2im8rxdJKEsbUs4=";
hash = "sha256-c9TaX4INfTfR3ZpmXbOteHr2R2jAbVzvMk8tO1XV4Nc=";
};
build-system = [
poetry-core
setuptools
];
dependencies = [
@@ -59,7 +61,6 @@ buildPythonPackage rec {
pythonRelaxDeps = [
"pillow"
"typer"
];
pythonImportsCheck = [
@@ -1,6 +1,5 @@
{
lib,
stdenv,
buildPythonPackage,
fetchFromGitHub,
@@ -15,6 +14,7 @@
opencv-python-headless,
pillow,
pydantic,
rtree,
safetensors,
torch,
torchvision,
@@ -29,14 +29,14 @@
buildPythonPackage rec {
pname = "docling-ibm-models";
version = "3.4.4";
version = "3.8.1";
pyproject = true;
src = fetchFromGitHub {
owner = "docling-project";
repo = "docling-ibm-models";
tag = "v${version}";
hash = "sha256-a2y4vXgALPRtLhdH0Tqqht1gpdcfa1Gv4puthKDMk7U=";
hash = "sha256-Yogg71CXQTdF5OUbdbma1rQxtLudTLjyOIFe2LS9CpI=";
};
build-system = [
@@ -51,6 +51,7 @@ buildPythonPackage rec {
opencv-python-headless
pillow
pydantic
rtree
safetensors
torch
torchvision
@@ -13,6 +13,7 @@
uvicorn,
websockets,
tesserocr,
typer,
rapidocr-onnxruntime,
onnxruntime,
torch,
@@ -28,14 +29,14 @@
buildPythonPackage rec {
pname = "docling-serve";
version = "0.11.0";
version = "0.14.0";
pyproject = true;
src = fetchFromGitHub {
owner = "docling-project";
repo = "docling-serve";
tag = "v${version}";
hash = "sha256-dPCD7Ovc6Xiga+gYOwg0mJIIhHywVOyxKIAFF5XUsYw=";
hash = "sha256-R8W/FXKj2wLJOcjwIsna/2wFOLGM80Qr3WlYPJTTSNU=";
};
postPatch = ''
@@ -53,7 +54,7 @@ buildPythonPackage rec {
];
pythonRemoveDeps = [
"mlx-vlm" # not yet avainable on nixpkgs
"mlx-vlm" # not yet available on nixpkgs
];
dependencies =
@@ -63,6 +64,7 @@ buildPythonPackage rec {
httpx
pydantic-settings
python-multipart
typer
uvicorn
websockets
]
@@ -52,14 +52,14 @@
buildPythonPackage rec {
pname = "docling";
version = "2.31.2";
version = "2.41.0";
pyproject = true;
src = fetchFromGitHub {
owner = "docling-project";
repo = "docling";
tag = "v${version}";
hash = "sha256-a2PZORT4Umf6AI3yEDDcUD0tm22Ahzm7Dwij/5ZUjNs=";
hash = "sha256-GD052HCqBLs+KUkOUOVdlXxS6+PD2pthGtz+zdQ6QnM=";
};
build-system = [
@@ -102,7 +102,6 @@ buildPythonPackage rec {
pythonRelaxDeps = [
"pillow"
"typer"
];
optional-dependencies = {
@@ -160,10 +159,14 @@ buildPythonPackage rec {
"test_convert_stream"
"test_compare_legacy_output"
"test_ocr_coverage_threshold"
"test_formula_conversion_with_page_range"
# requires network access
"test_page_range"
"test_parser_backends"
"test_confidence"
"test_e2e_webp_conversions"
"test_asr_pipeline_conversion"
# AssertionError: pred_itxt==true_itxt
"test_e2e_valid_csv_conversions"
@@ -3,14 +3,13 @@
buildPythonPackage,
decorator,
deprecated,
fetchPypi,
fetchFromGitHub,
icecream,
invoke,
mock,
paramiko,
pytest-relaxed,
pytestCheckHook,
pythonOlder,
setuptools,
}:
@@ -19,11 +18,11 @@ buildPythonPackage rec {
version = "3.2.2";
pyproject = true;
disabled = pythonOlder "3.10";
src = fetchPypi {
inherit pname version;
hash = "sha256-h4PKQuOwB28IsmkBqsa52bHxnEEAdOesz6uQLBhP9KM=";
src = fetchFromGitHub {
owner = "fabric";
repo = "fabric";
tag = version;
hash = "sha256-7qC2UuI0RP5xlKIYSz1sLyK/nQYegXOou1mlJYFk7M0=";
};
build-system = [ setuptools ];
@@ -58,6 +57,10 @@ buildPythonPackage rec {
"preserves_remote_mode_by_default"
"proxy_jump"
"raises_TypeError_for_disallowed_kwargs"
# Assertion failures on mocks
# https://github.com/fabric/fabric/issues/2341
"client_defaults_to_a_new_SSHClient"
"defaults_to_auto_add"
];
meta = {
@@ -66,7 +66,6 @@ buildPythonPackage rec {
mainProgram = "ledgerctl";
license = licenses.mit;
maintainers = with maintainers; [
d-xo
erdnaxe
];
};
@@ -20,14 +20,14 @@
buildPythonPackage rec {
pname = "posthog";
version = "6.0.2";
version = "6.1.0";
pyproject = true;
src = fetchFromGitHub {
owner = "PostHog";
repo = "posthog-python";
tag = "v${version}";
hash = "sha256-6ZSQFcwuHDgCv301D/7/3QjF9+ZaxXPItvoA+6x0O4U=";
hash = "sha256-u4qCQYCpMfM/JCyyKOfTTN7vwh3EvlGnxuslUy/d9Bs=";
};
build-system = [ setuptools ];
@@ -9,17 +9,18 @@
typing-extensions,
pytestCheckHook,
pytest-asyncio,
pytest-cov-stub,
}:
buildPythonPackage rec {
pname = "x3dh";
version = "1.1.0";
version = "1.2.0";
pyproject = true;
src = fetchFromGitHub {
owner = "Syndace";
repo = "python-x3dh";
tag = "v${version}";
hash = "sha256-/hC1Kze4yBOlgbWJcGddcYty9fqwZ08Lyi0IiqSDibI=";
hash = "sha256-NLuFfkutFtNrpBcLA/83QArCDrlrT+i85s2d6FHtuT0=";
};
strictDeps = true;
@@ -38,6 +39,7 @@ buildPythonPackage rec {
nativeCheckInputs = [
pytestCheckHook
pytest-asyncio
pytest-cov-stub
];
pythonImportsCheck = [ "x3dh" ];
@@ -7,26 +7,22 @@
libsodium,
libxeddsa,
pytestCheckHook,
pytest-cov-stub,
nix-update-script,
}:
buildPythonPackage rec {
pname = "xeddsa";
version = "1.1.0";
version = "1.1.1";
pyproject = true;
src = fetchFromGitHub {
owner = "Syndace";
repo = "python-xeddsa";
tag = "v${version}";
hash = "sha256-636zsJXD8EtLDXMIkJTON0g3sg0EPrMzcfR7SUrURac=";
hash = "sha256-5s6ERazWnwYEc0d5e+eSdvOCTklBQVrjzvlNifC2zKU=";
};
postPatch = ''
substituteInPlace pyproject.toml \
--replace-fail "setuptools<74" "setuptools"
'';
passthru.updateScript = nix-update-script { };
build-system = [ setuptools ];
@@ -40,6 +36,7 @@ buildPythonPackage rec {
nativeCheckInputs = [
pytestCheckHook
pytest-cov-stub
];
pythonImportsCheck = [ "xeddsa" ];
-1
View File
@@ -12402,7 +12402,6 @@ with pkgs;
);
gimp = callPackage ../applications/graphics/gimp/2.0 {
autoreconfHook = buildPackages.autoreconfHook269;
lcms = lcms2;
};
+2
View File
@@ -3971,6 +3971,8 @@ self: super: with self; {
django-pwa = callPackage ../development/python-modules/django-pwa { };
django-pydantic-field = callPackage ../development/python-modules/django-pydantic-field { };
django-q2 = callPackage ../development/python-modules/django-q2 { };
django-ranged-response = callPackage ../development/python-modules/django-ranged-response { };