Merge staging-next into staging

This commit is contained in:
nixpkgs-ci[bot]
2026-01-20 12:08:50 +00:00
committed by GitHub
80 changed files with 674 additions and 479 deletions

View File

@@ -78,15 +78,57 @@ It is possible to configure default settings for all instances of Anubis, via {o
```nix
{
services.anubis.defaultOptions = {
botPolicy = {
dnsbl = false;
};
settings.DIFFICULTY = 3;
};
}
```
Note that at the moment, a custom bot policy is not merged with the baked-in one. That means to only override a setting
like `dnsbl`, copying the entire bot policy is required. Check
[the upstream repository](https://github.com/TecharoHQ/anubis/blob/1509b06cb921aff842e71fbb6636646be6ed5b46/cmd/anubis/botPolicies.json)
for the policy.
By default, this module uses Anubis's built-in policy (`botPolicies.yaml`), which includes sensible defaults for bot
rules, thresholds, status codes, and storage backend. A custom policy file is only generated when you explicitly
customize the policy via {option}`services.anubis.instances.<name>.policy`.
To add custom bot rules while keeping the defaults:
```nix
{
services.anubis.instances.default = {
settings.TARGET = "http://localhost:8000";
policy.extraBots = [
{
name = "my-allowed-bot";
user_agent_regex = "MyBot/.*";
action = "ALLOW";
}
];
};
}
```
To opt out of the default bot rules entirely and define your own:
```nix
{
services.anubis.instances.default = {
settings.TARGET = "http://localhost:8000";
policy = {
useDefaultBotRules = false;
extraBots = [
{
name = "my-rule";
path_regex = ".*";
action = "CHALLENGE";
}
];
};
};
}
```
::: {.note}
When you customize the policy, a custom policy file is generated. This file imports the default bot rules via
`(data)/meta/default-config.yaml` when {option}`services.anubis.instances.<name>.policy.useDefaultBotRules` is enabled,
but uses Anubis's simpler legacy threshold instead of the 5-tier thresholds from `botPolicies.yaml`. If you need custom
thresholds, specify them in {option}`services.anubis.instances.<name>.policy.settings`.
:::
See [the upstream documentation](https://anubis.techaro.lol/docs/admin/policies) for all available policy options.

View File

@@ -12,6 +12,32 @@ let
enabledInstances = lib.filterAttrs (_: conf: conf.enable) cfg.instances;
instanceName = name: if name == "" then "anubis" else "anubis-${name}";
# Only generates a custom policy file when the user has explicitly customized
# something (extraBots, settings, or disabled default bot rules). When nothing
# is customized, returns null so Anubis uses its built-in botPolicies.yaml
# which includes sensible defaults for thresholds, status_codes, store, etc.
mkPolicyFile =
name: instance:
let
hasCustomization =
!instance.policy.useDefaultBotRules
|| instance.policy.extraBots != [ ]
|| instance.policy.settings != { };
bots =
(lib.optional instance.policy.useDefaultBotRules {
import = "(data)/meta/default-config.yaml";
})
++ instance.policy.extraBots;
policyContent = {
inherit bots;
}
// instance.policy.settings;
in
if hasCustomization then
jsonFormat.generate "${instanceName name}-policy.json" policyContent
else
null;
unixAddr = network: addr: lib.strings.optionalString (network == "unix") addr;
unixSocketAddrs =
settings:
@@ -40,6 +66,10 @@ let
in
{ name, ... }:
{
imports = [
(lib.mkRenamedOptionModule [ "botPolicy" ] [ "policy" "settings" ])
];
options = {
enable = lib.mkEnableOption "this instance of Anubis" // {
default = true;
@@ -65,18 +95,71 @@ let
type = types.str;
};
botPolicy = mkDefaultOption "botPolicy" {
default = null;
policy = lib.mkOption {
default = { };
description = ''
Anubis policy configuration in Nix syntax. Set to `null` to use the baked-in policy which should be
sufficient for most use-cases.
This option has no effect if `settings.POLICY_FNAME` is set to a different value, which is useful for
importing an existing configuration.
Anubis policy configuration.
See [the documentation](https://anubis.techaro.lol/docs/admin/policies) for details.
'';
type = types.nullOr jsonFormat.type;
type = types.submodule {
options = {
useDefaultBotRules = mkDefaultOption "policy.useDefaultBotRules" {
type = types.bool;
default = true;
description = ''
Whether to include Anubis's default bot detection rules via the
`(data)/meta/default-config.yaml` import.
Set to `false` to define your own bot rules from scratch using
{option}`extraBots`.
'';
};
extraBots = mkDefaultOption "policy.extraBots" {
type = types.listOf jsonFormat.type;
default = [ ];
example = lib.literalExpression ''
[
{
name = "my-bot";
user_agent_regex = "MyBot/.*";
action = "ALLOW";
}
]
'';
description = ''
Additional bot rules appended to the policy.
When {option}`useDefaultBotRules` is `true`, these rules are added after
Anubis's default rules. When `false`, only these rules are used.
'';
};
settings = mkDefaultOption "policy.settings" {
type = jsonFormat.type;
default = { };
example = lib.literalExpression ''
{
dnsbl = false;
store = {
backend = "bbolt";
parameters.path = "/var/lib/anubis/data.bdb";
};
}
'';
description = ''
Additional policy settings merged into the policy file.
Common settings include `dnsbl`, `store`, `logging`, `thresholds`,
`impressum`, `openGraph`, and `statusCodes`.
See [the documentation](https://anubis.techaro.lol/docs/admin/policies) for
available options.
'';
};
};
};
};
extraFlags = mkDefaultOption "extraFlags" {
@@ -175,8 +258,8 @@ let
POLICY_FNAME = mkDefaultOption "settings.POLICY_FNAME" {
default = null;
description = ''
The bot policy file to use. Leave this as `null` to respect the value set in
{option}`services.anubis.instances.<name>.botPolicy`.
The policy file to use. Leave this as `null` to use the policy generated from
{option}`services.anubis.instances.<name>.policy`.
'';
type = types.nullOr types.path;
};
@@ -306,10 +389,8 @@ in
POLICY_FNAME =
if instance.settings.POLICY_FNAME != null then
instance.settings.POLICY_FNAME
else if instance.botPolicy != null then
jsonFormat.generate "${instanceName name}-botPolicy.json" instance.botPolicy
else
null;
mkPolicyFile name instance;
}
)
);

View File

@@ -76,7 +76,7 @@ in
example = lib.literalExpression ''
{
enableACME = true;
forceHttps = true;
forceSSL = true;
}
'';
};

View File

@@ -140,7 +140,7 @@ in
"pics.''${config.networking.domain}"
];
enableACME = true;
forceHttps = true;
forceSSL = true;
}
'';
description = ''

View File

@@ -45,7 +45,7 @@ in
example = lib.literalExpression ''
{
enableACME = true;
forceHttps = true;
forceSSL = true;
}
'';
description = ''

View File

@@ -1,36 +1,4 @@
{ lib, ... }:
let
legacyBotPolicyJSON = ''
{
"bots": [
{
"import": "(data)/bots/_deny-pathological.yaml"
},
{
"import": "(data)/meta/ai-block-aggressive.yaml"
},
{
"import": "(data)/crawlers/_allow-good.yaml"
},
{
"import": "(data)/bots/aggressive-brazilian-scrapers.yaml"
},
{
"import": "(data)/common/keep-internet-working.yaml"
},
{
"name": "generic-browser",
"user_agent_regex": "Mozilla|Opera",
"action": "CHALLENGE"
}
],
"dnsbl": false,
"status_codes": {
"CHALLENGE": 200,
"DENY": 200
}
}'';
in
{
name = "anubis";
meta.maintainers = with lib.maintainers; [
@@ -54,7 +22,6 @@ in
services.anubis = {
defaultOptions = {
botPolicy = builtins.fromJSON legacyBotPolicyJSON;
settings = {
DIFFICULTY = 3;
USER_DEFINED_DEFAULT = true;
@@ -92,14 +59,29 @@ in
};
};
instances."botPolicy-default" = {
botPolicy = null;
instances."policy-default" = {
settings = {
TARGET = "http://localhost:8080";
};
};
instances."botPolicy-file" = {
instances."policy-custom" = {
policy = {
extraBots = [
{
name = "custom-allow";
user_agent_regex = "CustomBot/.*";
action = "ALLOW";
}
];
settings.dnsbl = false;
};
settings = {
TARGET = "http://localhost:8080";
};
};
instances."policy-file" = {
settings = {
TARGET = "http://localhost:8080";
POLICY_FNAME = "/etc/anubis-botPolicy.json";
@@ -191,9 +173,10 @@ in
machine.succeed('cat /run/current-system/etc/systemd/system/anubis.service | grep "DIFFICULTY=5"')
machine.succeed('cat /run/current-system/etc/systemd/system/anubis-tcp.service | grep "DIFFICULTY=3"')
# Check correct BotPolicy settings are applied
machine.succeed('cat /run/current-system/etc/systemd/system/anubis.service | grep "POLICY_FNAME=/nix/store"')
machine.fail('cat /run/current-system/etc/systemd/system/anubis-botPolicy-default.service | grep "POLICY_FNAME="')
machine.succeed('cat /run/current-system/etc/systemd/system/anubis-botPolicy-file.service | grep "POLICY_FNAME=/etc/anubis-botPolicy.json"')
# Check correct policy settings are applied.
machine.fail('cat /run/current-system/etc/systemd/system/anubis.service | grep "POLICY_FNAME="')
machine.fail('cat /run/current-system/etc/systemd/system/anubis-policy-default.service | grep "POLICY_FNAME="')
machine.succeed('cat /run/current-system/etc/systemd/system/anubis-policy-custom.service | grep "POLICY_FNAME=/nix/store"')
machine.succeed('cat /run/current-system/etc/systemd/system/anubis-policy-file.service | grep "POLICY_FNAME=/etc/anubis-botPolicy.json"')
'';
}

View File

@@ -8,13 +8,13 @@
}:
mkLibretroCore {
core = "flycast";
version = "0-unstable-2025-12-29";
version = "0-unstable-2026-01-19";
src = fetchFromGitHub {
owner = "flyinghead";
repo = "flycast";
rev = "4886dcb1c20cd4a85627cc4970d9d01cdf1c2d7d";
hash = "sha256-Lp0MCf8MbqfeSdp6qrWi+q1xgatKl+8HDbTSd5xuzLM=";
rev = "f86e195017fb1595c2622bca3c95e88198194784";
hash = "sha256-Cd3vFpB66Bymv/Zjzd4XO3qJn5vaSnkWV1i5IxtaXXc=";
fetchSubmodules = true;
};

View File

@@ -1,8 +1,8 @@
{
"linux-canary": {
"hash": "sha256-2o0SBMbtozibAIL7lHDJ2LfNjbDKY578PvcNdFs/AC4=",
"url": "https://canary.dl2.discordapp.net/apps/linux/0.0.844/discord-canary-0.0.844.tar.gz",
"version": "0.0.844"
"hash": "sha256-jomLXlIr+ajJspmh/seNb48alPSuCw8ybYkfc0uAziE=",
"url": "https://canary.dl2.discordapp.net/apps/linux/0.0.852/discord-canary-0.0.852.tar.gz",
"version": "0.0.852"
},
"linux-development": {
"hash": "sha256-EVkjWoqWl9Z+iHCLPOLu4PIUb2wC3HVcPVjOVz++IVw=",
@@ -15,19 +15,19 @@
"version": "0.0.172"
},
"linux-stable": {
"hash": "sha256-/NfgHBXsUWYoDEVGz13GBU1ISpSdB5OmrjhSN25SBMg=",
"url": "https://stable.dl2.discordapp.net/apps/linux/0.0.119/discord-0.0.119.tar.gz",
"version": "0.0.119"
"hash": "sha256-4rJ0l0zSoOz7L65sy3Gegcsb/nJGGFu6h5TGAb0fqUI=",
"url": "https://stable.dl2.discordapp.net/apps/linux/0.0.120/discord-0.0.120.tar.gz",
"version": "0.0.120"
},
"osx-canary": {
"hash": "sha256-qh5+hCEQXivdugj5jzS+i1ftmyh6l2YEE63oS+qV2Go=",
"url": "https://canary.dl2.discordapp.net/apps/osx/0.0.948/DiscordCanary.dmg",
"version": "0.0.948"
"hash": "sha256-ZzqakVB2Rkcq5zME2WnSCw1CLzpD3VDM/pu4nQ7rRNs=",
"url": "https://canary.dl2.discordapp.net/apps/osx/0.0.956/DiscordCanary.dmg",
"version": "0.0.956"
},
"osx-development": {
"hash": "sha256-y840b3WlWnSK+22l7AoasQbDmbB+2LOzbxA13yJxrPA=",
"url": "https://development.dl2.discordapp.net/apps/osx/0.0.106/DiscordDevelopment.dmg",
"version": "0.0.106"
"hash": "sha256-B1//zMlTv2+RWHfWZSaaU8ubVOwWob+EYjNdtFRwlgg=",
"url": "https://development.dl2.discordapp.net/apps/osx/0.0.107/DiscordDevelopment.dmg",
"version": "0.0.107"
},
"osx-ptb": {
"hash": "sha256-tjWbvWOvSinVZDvJYFFcbmr+y7W5PmIr/alrS82ECBo=",
@@ -35,8 +35,8 @@
"version": "0.0.204"
},
"osx-stable": {
"hash": "sha256-OjHYJNZlM/cOLM61qvoauzNl3f/GVPdJMsnM+kxc/38=",
"url": "https://stable.dl2.discordapp.net/apps/osx/0.0.371/Discord.dmg",
"version": "0.0.371"
"hash": "sha256-PkZU/1GxPmfxq2qP/5gGU85EFYPI1V42iHfoy9x9fKI=",
"url": "https://stable.dl2.discordapp.net/apps/osx/0.0.372/Discord.dmg",
"version": "0.0.372"
}
}

View File

@@ -18,16 +18,16 @@
}:
rustPlatform.buildRustPackage rec {
pname = "asusctl";
version = "6.2.0";
version = "6.3.1";
src = fetchFromGitLab {
owner = "asus-linux";
repo = "asusctl";
tag = version;
hash = "sha256-frQbfCdK7bD6IAUa+MAOaRLhMrbdFRdHocQ0Z1tzsqE=";
hash = "sha256-x3WKxjYrWYaLWDi52b3uQSYnr/Qunf6JYu4ikt4ajls=";
};
cargoHash = "sha256-Z3JFp/qH3mD3Hy/kqSONOZ+syulgr+t0ZzFRvNN+Ayg=";
cargoHash = "sha256-FyVbeHzwMr8UJ2OoVYVekXJFhus/ab7KwfGK4eaua6A=";
postPatch = ''
files="

View File

@@ -13,7 +13,7 @@
stdenv.mkDerivation (finalAttrs: {
pname = "babl";
version = "0.1.116";
version = "0.1.120";
outputs = [
"out"
@@ -23,7 +23,7 @@ stdenv.mkDerivation (finalAttrs: {
src = fetchurl {
url = "https://download.gimp.org/pub/babl/${lib.versions.majorMinor finalAttrs.version}/babl-${finalAttrs.version}.tar.xz";
hash = "sha256-UPrgaYZ8et4SWYiP8ePbhf7IbXCCUuU4W1pPOaeOxIM=";
hash = "sha256-9HatFSAftO0MkMF0xSSx5CcczWmjdyQtamn834fOrMI=";
};
patches = [
@@ -46,6 +46,9 @@ stdenv.mkDerivation (finalAttrs: {
mesonFlags = [
"-Dprefix-dev=${placeholder "dev"}"
# On Linux, this would be disabled by default but we have -Dauto_features=enabled.
# Disable it on other platforms too, since I cannot test it there.
"-Drelocatable=disabled"
]
++ lib.optionals (stdenv.buildPlatform != stdenv.hostPlatform) [
# Docs are opt-out in native but opt-in in cross builds.

View File

@@ -13,7 +13,7 @@ rustPlatform.buildRustPackage rec {
src = fetchFromGitHub {
owner = "nextest-rs";
repo = "nextest";
rev = "cargo-nextest-${version}";
tag = "cargo-nextest-${version}";
hash = "sha256-Ff9GibY6pm7+NbgAB8iNO+uj+uK1sxU+UkaiIS5BLEk=";
};
@@ -33,7 +33,9 @@ rustPlatform.buildRustPackage rec {
"cargo-nextest"
];
passthru.updateScript = nix-update-script { };
passthru.updateScript = nix-update-script {
extraArgs = [ "--version-regex=^cargo-nextest-([0-9.]+)$" ];
};
meta = {
description = "Next-generation test runner for Rust projects";

View File

@@ -1,33 +1,46 @@
{
stdenv,
lib,
fetchFromGitHub,
rustPlatform,
openssl,
pkg-config,
alsa-lib,
nix-update-script,
}:
rustPlatform.buildRustPackage (finalAttrs: {
pname = "chess-tui";
version = "2.0.0";
version = "2.3.0";
src = fetchFromGitHub {
owner = "thomas-mauran";
repo = "chess-tui";
tag = finalAttrs.version;
hash = "sha256-SIQoi/pnbS1TyX6iA8azo0nVfsCQd6ntn9VZCz/Zkgw=";
hash = "sha256-g+rKib+ZoBa2ssYKgS0tg0xngurY1z3DbBZZEn/LJU4=";
};
cargoHash = "sha256-aWj8ruu/Y/VCgvhAkWVfDDztmVzHsZix88JUAOYttmg=";
cargoHash = "sha256-Brj+9AS0ZR/b188jkJa84WRHk0HtiKpMlyMUSLmzBfA=";
checkFlags = [
# assertion failed: result.is_ok()
"--skip=tests::test_config_create"
];
buildInputs = [ openssl ];
buildInputs = [
openssl
]
# alsa-lib is required for the alsa-sys. alsa-lib does not compile on darwin
++ lib.optionals stdenv.hostPlatform.isLinux [ alsa-lib ]
# bindgenHook is required for coreaudio-sys on darwin
++ lib.optionals stdenv.hostPlatform.isDarwin [ rustPlatform.bindgenHook ];
nativeBuildInputs = [ pkg-config ];
PKG_CONFIG_PATH = "${openssl.dev}/lib/pkgconfig";
passthru.updateScript = nix-update-script { };
meta = {
description = "Chess TUI implementation in rust";
homepage = "https://github.com/thomas-mauran/chess-tui";

View File

@@ -1,29 +0,0 @@
{
lib,
stdenv,
buildGoModule,
fetchFromGitHub,
}:
buildGoModule rec {
pname = "docui";
version = "2.0.4";
src = fetchFromGitHub {
owner = "skanehira";
repo = "docui";
rev = version;
hash = "sha256-tHv1caNGiWC9Dc/qR4ij9xGM1lotT0KyrpJpdBsHyks=";
};
vendorHash = "sha256-5xQ5MmGpyzVh4gXZAhCY16iVw8zbCMzMA5IOsPdn7b0=";
meta = {
description = "TUI Client for Docker";
homepage = "https://github.com/skanehira/docui";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ aethelz ];
broken = stdenv.hostPlatform.isDarwin;
mainProgram = "docui";
};
}

View File

@@ -28,13 +28,13 @@ assert blas.isILP64 == scalapack.isILP64;
stdenv.mkDerivation rec {
pname = "elpa";
version = "2025.06.001";
version = "2025.06.002";
passthru = { inherit (blas) isILP64; };
src = fetchurl {
url = "https://elpa.mpcdf.mpg.de/software/tarball-archive/Releases/${version}/elpa-${version}.tar.gz";
sha256 = "sha256-/usf6hq0qGcLjTJAdl7wragoBi737JtzXuy6KEhRXJQ=";
sha256 = "sha256-3jGAwG4rDbtWk56ErRpf0WhEZb04rSGWeS0PQCiTf9o=";
};
patches = [

View File

@@ -7,16 +7,16 @@
}:
rustPlatform.buildRustPackage (finalAttrs: {
pname = "framework-tool-tui";
version = "0.7.3";
version = "0.7.6";
src = fetchFromGitHub {
owner = "grouzen";
repo = "framework-tool-tui";
tag = "v${finalAttrs.version}";
hash = "sha256-+m92Q5rfINS/TDAXpHDpwJPyV8kGrdS4y72DWw9NLe0=";
hash = "sha256-reIsJK2bGuMf83SmjCVu9PdUrd4zilCxpvbZllnU6vo=";
};
cargoHash = "sha256-feA+Jn3ldq6pJe/xFqBAaemNcT0Kjfl61IWIXKHHp9o=";
cargoHash = "sha256-E2lVpu+sI/Bf1YwqCbwg3pr15kfo4DUddwI+5/Dwh40=";
nativeBuildInputs = [ pkg-config ];
buildInputs = [ udev ];

View File

@@ -1,18 +1,18 @@
[
{
"pname": "Azure.Core",
"version": "1.47.3",
"hash": "sha256-fWyfqF1lpnap4cF3l9J0fYtZbxIqm6UFsuJgN+/hwW4="
"version": "1.50.0",
"hash": "sha256-8Pjz0/2wTLK5uY7G5qrxQr4CsmrjiR8gL4g6zJymj5s="
},
{
"pname": "Azure.Storage.Blobs",
"version": "12.26.0",
"hash": "sha256-J6774WE6xlrsmhkmE1dapkrhK6dFByYxSHLs1OQPk48="
"version": "12.27.0",
"hash": "sha256-Ag8kMe/NBfq+HSchFzm0VAAo9xVnrKHFHUjbQ4KpSh0="
},
{
"pname": "Azure.Storage.Common",
"version": "12.25.0",
"hash": "sha256-4eMv4oOumO6FFx0VMsuIr6sWtouu4f6AajebTQjhj9Q="
"version": "12.26.0",
"hash": "sha256-GPiEPi/caj5z2cMFP5TUx/Jrj/zXZmA/xqC9CEoI+qQ="
},
{
"pname": "Castle.Core",
@@ -431,8 +431,8 @@
},
{
"pname": "System.ClientModel",
"version": "1.6.1",
"hash": "sha256-OMnamkT9Nt5ZSR6xPKFmOQRUjdn0a4nP9jkD2eZxxc0="
"version": "1.8.0",
"hash": "sha256-ZWVhuw3IRk9rZXkXERhesEET2KMMzHjUH/HDI288WK8="
},
{
"pname": "System.Collections",
@@ -581,8 +581,8 @@
},
{
"pname": "System.IO.Hashing",
"version": "8.0.0",
"hash": "sha256-szOGt0TNBo6dEdC3gf6H+e9YW3Nw0woa6UnCGGGK5cE="
"version": "10.0.1",
"hash": "sha256-k8EHcxnLitXo0CxoDZAxFmUlJJdKZVsZJ2+9zDMYB94="
},
{
"pname": "System.Linq",

View File

@@ -35,13 +35,13 @@ assert builtins.all (
buildDotnetModule (finalAttrs: {
pname = "github-runner";
version = "2.330.0";
version = "2.331.0";
src = fetchFromGitHub {
owner = "actions";
repo = "runner";
tag = "v${finalAttrs.version}";
hash = "sha256-Ft6NCgljzMy5SrRwAdixWpPIrbq7WdW8VzXDUVsiuqo=";
hash = "sha256-Qn3sOzZVBf/UfmMEkTPDfAWBtJzZv/xp9kCmiSowgUc=";
leaveDotGit = true;
postFetch = ''
git -C $out rev-parse --short HEAD > $out/.git-revision

View File

@@ -234,9 +234,9 @@ let
};
in
stdenv.mkDerivation {
name = "gitlab${lib.optionalString gitlabEnterprise "-ee"}-${version}";
pname = "gitlab${lib.optionalString gitlabEnterprise "-ee"}";
inherit src;
inherit src version;
nativeBuildInputs = [ makeWrapper ];
buildInputs = [

View File

@@ -72,6 +72,7 @@ let
pkg-config
meson
ninja
protobufc
];
# http://knot-resolver.readthedocs.io/en/latest/build.html#requirements
@@ -119,17 +120,21 @@ let
doInstallCheck = with stdenv; hostPlatform == buildPlatform;
nativeInstallCheckInputs = [
cmocka
which
cacert
lua.cqueues
lua.basexx
lua.http
];
installCheckInputs = [
cmocka
];
installCheckPhase = ''
meson test --print-errorlogs --no-suite snowflake
'';
strictDeps = true;
passthru = {
inherit lua;
inherit (finalAttrs) finalPackage;

View File

@@ -2,7 +2,6 @@
lib,
stdenv,
fetchFromGitHub,
intltool,
pkg-config,
doxygen,
autoreconfHook,
@@ -27,13 +26,13 @@
stdenv.mkDerivation (finalAttrs: {
pname = "libqalculate";
version = "5.8.2";
version = "5.9.0";
src = fetchFromGitHub {
owner = "qalculate";
repo = "libqalculate";
tag = "v${finalAttrs.version}";
hash = "sha256-oA4AcsnyBhH6YtyHAb5Duzf5vGhY3tJT0Su3C09xOPU=";
hash = "sha256-BhpqNTFkghb+Qg/oEKfascvo5Q5BKXjzCOL8S7OE4Kc=";
};
outputs = [
@@ -43,7 +42,6 @@ stdenv.mkDerivation (finalAttrs: {
];
nativeBuildInputs = [
intltool
pkg-config
autoreconfHook
doxygen
@@ -65,10 +63,6 @@ stdenv.mkDerivation (finalAttrs: {
];
enableParallelBuilding = true;
preConfigure = ''
intltoolize -f
'';
postPatch = lib.optionalString (gnuplotBinary != "") ''
substituteInPlace libqalculate/Calculator-plot.cc \
--replace-fail 'commandline = "gnuplot"' 'commandline = "${gnuplotBinary}"' \

View File

@@ -30,13 +30,13 @@ let
in
stdenv.mkDerivation rec {
pname = "librime";
version = "1.16.0";
version = "1.16.1";
src = fetchFromGitHub {
owner = "rime";
repo = "librime";
rev = version;
sha256 = "sha256-zKc9Xxv+DHOfwpMaXeG34NwdGbXH6XP3ua+LrivQvBU=";
sha256 = "sha256-Jbo6Svt/d00ZJwtYkWMKFeKzpFFYhbnm3m2alDxRGvU=";
};
nativeBuildInputs = [

View File

@@ -5,14 +5,14 @@
installShellFiles,
}:
buildGoModule rec {
buildGoModule (finalAttrs: {
pname = "logdy";
version = "0.17.1";
src = fetchFromGitHub {
owner = "logdyhq";
repo = "logdy-core";
tag = "v${version}";
tag = "v${finalAttrs.version}";
hash = "sha256-NV1vgHUeIH1k1E5hdO3fXrXl1+B30AUM2aexlxz5g8o=";
};
@@ -67,4 +67,4 @@ buildGoModule rec {
];
mainProgram = "logdy";
};
}
})

View File

@@ -8,16 +8,16 @@
buildGoModule rec {
pname = "minio-warp";
version = "1.3.1";
version = "1.4.0";
src = fetchFromGitHub {
owner = "minio";
repo = "warp";
rev = "v${version}";
hash = "sha256-bXThbMwT3T59nFCMEz8TnMMDYq26rDwKTOBamVGRsyM=";
hash = "sha256-y76A9m0vLCAEP7/HPRwCPZ5vt2xXw2f+dGmOOi86c1c=";
};
vendorHash = "sha256-fo4LLRqqylx4oZOkLOgFzT436+vjap9dW+IpQ0IFa8Y=";
vendorHash = "sha256-4gwFXMUCqr3Fui0iMnCNHLJ7ikyAdhX/rgZIarUNIHw=";
# See .goreleaser.yml
ldflags = [

View File

@@ -6,12 +6,12 @@
}:
stdenv.mkDerivation (finalAttrs: {
version = "11.91";
version = "12.02";
pname = "monkeys-audio";
src = fetchzip {
url = "https://monkeysaudio.com/files/MAC_${builtins.concatStringsSep "" (lib.strings.splitString "." finalAttrs.version)}_SDK.zip";
hash = "sha256-fCNq7xmE/JFYTAV0zlZWn3hnOZYperMryP9xwkt6y2U=";
hash = "sha256-4/WKQJr9ZSFM7IiMGwwVAoyPxJegjlLqjyXOOc3KR2k=";
stripRoot = false;
};

View File

@@ -197,13 +197,13 @@ let
in
stdenv.mkDerivation (finalAttrs: {
pname = "mpd";
version = "0.24.6";
version = "0.24.7";
src = fetchFromGitHub {
owner = "MusicPlayerDaemon";
repo = "MPD";
rev = "v${finalAttrs.version}";
sha256 = "sha256-KAyTDfe3bEFWwImNaTOgq0jAs49kH8H+8ZJPQipN4QA=";
sha256 = "sha256-2sOlyeEpg48J1GZu25Umz/Wl2i7EqL8R9HslDidX3NM=";
};
buildInputs = [

View File

@@ -1,6 +1,6 @@
source 'https://rubygems.org'
gem 'oxidized', '0.35.0'
gem 'oxidized-web', '0.18.0'
gem 'oxidized-web', '0.18.1'
gem 'oxidized-script', '0.7.0'
gem 'psych', '~> 5.0'

View File

@@ -49,16 +49,16 @@ GEM
oxidized-script (0.7.0)
oxidized (~> 0.29)
slop (~> 4.6)
oxidized-web (0.18.0)
charlock_holmes (>= 0.7.5, < 0.8.0)
oxidized-web (0.18.1)
charlock_holmes (~> 0.7)
emk-sinatra-url-for (~> 0.2)
haml (>= 6.0.0, < 7.0.0)
htmlentities (>= 4.3.0, < 4.5.0)
json (>= 2.3.0, < 2.17.0)
haml (>= 6, < 7)
htmlentities (~> 4.3)
json (~> 2.3)
oxidized (>= 0.34.1)
puma (>= 6.6, < 7.2)
sinatra (>= 4.1.1, < 4.3.0)
sinatra-contrib (>= 4.1.1, < 4.3.0)
puma (>= 6.6, < 8)
sinatra (~> 4.1)
sinatra-contrib (~> 4.1)
psych (5.2.6)
date
stringio
@@ -107,7 +107,7 @@ PLATFORMS
DEPENDENCIES
oxidized (= 0.35.0)
oxidized-script (= 0.7.0)
oxidized-web (= 0.18.0)
oxidized-web (= 0.18.1)
psych (~> 5.0)
BUNDLED WITH

View File

@@ -278,10 +278,10 @@
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "19sz075liiqim98jvnb3jawxdpd8kk146bwvqzwvmimbgdzf8xfr";
sha256 = "1yx8q8v5ri2j7h7slpkk4plnrgc098l9avxnaavibj14fri3z26n";
type = "gem";
};
version = "0.18.0";
version = "0.18.1";
};
psych = {
dependencies = [

View File

@@ -8,18 +8,18 @@
buildGoModule (finalAttrs: {
pname = "parca-agent";
version = "0.44.2";
version = "0.45.0";
src = fetchFromGitHub {
owner = "parca-dev";
repo = "parca-agent";
tag = "v${finalAttrs.version}";
hash = "sha256-nRStraxWDk3eY6L4znPsvT+NNz/cIYBae5sdYnOybi0=";
hash = "sha256-WGR4EFsM7C7lf8VbPefw/4sQQD2ld3jCJE52M7MbRi8=";
fetchSubmodules = true;
};
proxyVendor = true;
vendorHash = "sha256-OvhKmCxLIzLXxBmTaLrZFTAIkZXG2C1AZggaVYhlF3I=";
vendorHash = "sha256-KwXSiZsviyR0wDKYFwlDUvJ+7PpEUoSyLsw2ZVcyK60=";
buildInputs = [
stdenv.cc.libc.static

View File

@@ -41,12 +41,12 @@ let
in
stdenv.mkDerivation rec {
pname = "peergos";
version = "1.17.0";
version = "1.18.0";
src = fetchFromGitHub {
owner = "Peergos";
repo = "web-ui";
rev = "v${version}";
hash = "sha256-9dBTa/qrrEb5eMIXK0kt7x8zTbwCeRDXpTS58EezS0A=";
hash = "sha256-zE7BsbZV1KIPD0sn1rSlMxzNF+JcucG382Ek/N9vO8o=";
fetchSubmodules = true;
};

View File

@@ -1,19 +1,19 @@
{
"version": "5.7.2",
"version": "5.8.0",
"darwin-amd64": {
"hash": "sha256-Klc7+0KWSjTxSv/AQ8Z429mTYNrl/SLLlKncnKx3hqk=",
"url": "https://github.com/platformsh/cli/releases/download/5.7.2/platform_5.7.2_darwin_all.tar.gz"
"hash": "sha256-quR9iU0Lqlvc1fvtHZu8/iIPesbEu59JfmwjgK3PEYA=",
"url": "https://github.com/platformsh/cli/releases/download/5.8.0/platform_5.8.0_darwin_all.tar.gz"
},
"darwin-arm64": {
"hash": "sha256-Klc7+0KWSjTxSv/AQ8Z429mTYNrl/SLLlKncnKx3hqk=",
"url": "https://github.com/platformsh/cli/releases/download/5.7.2/platform_5.7.2_darwin_all.tar.gz"
"hash": "sha256-quR9iU0Lqlvc1fvtHZu8/iIPesbEu59JfmwjgK3PEYA=",
"url": "https://github.com/platformsh/cli/releases/download/5.8.0/platform_5.8.0_darwin_all.tar.gz"
},
"linux-amd64": {
"hash": "sha256-g/Jnl1bUjwf27pzzvWVBRl7jSWm+p9lQfk/6HeUngXc=",
"url": "https://github.com/platformsh/cli/releases/download/5.7.2/platform_5.7.2_linux_amd64.tar.gz"
"hash": "sha256-3Uz+2x/QSxEeF+gcxwfv3r1GO8m01SfSVavlIQ/YoNc=",
"url": "https://github.com/platformsh/cli/releases/download/5.8.0/platform_5.8.0_linux_amd64.tar.gz"
},
"linux-arm64": {
"hash": "sha256-Chlijpt6t/5GJRZ40wNaXnzGTAaAsBE9kzT+bidrmio=",
"url": "https://github.com/platformsh/cli/releases/download/5.7.2/platform_5.7.2_linux_arm64.tar.gz"
"hash": "sha256-8lFfo5zF6G36jJaNf9dQbVu8WeQWYu7dl4JyzlOrtLI=",
"url": "https://github.com/platformsh/cli/releases/download/5.8.0/platform_5.8.0_linux_arm64.tar.gz"
}
}

View File

@@ -2,7 +2,6 @@
lib,
stdenv,
fetchFromGitHub,
intltool,
autoreconfHook,
pkg-config,
libqalculate,
@@ -14,19 +13,18 @@
stdenv.mkDerivation (finalAttrs: {
pname = "qalculate-gtk";
version = "5.8.2";
version = "5.9.0";
src = fetchFromGitHub {
owner = "qalculate";
repo = "qalculate-gtk";
tag = "v${finalAttrs.version}";
hash = "sha256-jJKy3LKO2ihtXtYMSOlVvq8RAfgpcxDgE8Ud9Fzd/Qg=";
hash = "sha256-5rldVskEoCJi6SvBn4xbGUB9wb6lObToi8gN3e8FvHY=";
};
hardeningDisable = [ "format" ];
nativeBuildInputs = [
intltool
pkg-config
autoreconfHook
wrapGAppsHook3

View File

@@ -2,7 +2,6 @@
lib,
stdenv,
fetchFromGitHub,
intltool,
pkg-config,
qt6,
libqalculate,
@@ -10,18 +9,17 @@
stdenv.mkDerivation (finalAttrs: {
pname = "qalculate-qt";
version = "5.8.2";
version = "5.9.0";
src = fetchFromGitHub {
owner = "qalculate";
repo = "qalculate-qt";
tag = "v${finalAttrs.version}";
hash = "sha256-+5LEXc5B2Kt5UifIV2owSsp7Yd412gppMeHs2YLdGYg=";
hash = "sha256-/8Ipz+K0IEuZwvjNlvI01kGqxHOAQ8Il+XW2QYXQH8A=";
};
nativeBuildInputs = with qt6; [
qmake
intltool
pkg-config
qttools
wrapQtAppsHook

View File

@@ -8,16 +8,16 @@
rustPlatform.buildRustPackage rec {
pname = "rabbitmqadmin-ng";
version = "2.17.0";
version = "2.22.0";
src = fetchFromGitHub {
owner = "rabbitmq";
repo = "rabbitmqadmin-ng";
tag = "v${version}";
hash = "sha256-Qz6wfATt7BU1IlrThQpu3UetUWuLz/Y1WKBvsqisUxY=";
hash = "sha256-Y5esZgvaIaAkEDaeBzda3I1LfYS4ho3Nb6ypqank6+U=";
};
cargoHash = "sha256-spGJUY99jF/aZPDxoplPJ+1XHIreqDzxzlD0Ti4IZ68=";
cargoHash = "sha256-Aj6DVn9vPG0U0iMlUVAaxpsyaLyHMj/TeH4sftvuTi8=";
buildInputs = [ openssl ];
nativeBuildInputs = [ pkg-config ];

View File

@@ -11,16 +11,16 @@
rustPlatform.buildRustPackage rec {
pname = "release-plz";
version = "0.3.150";
version = "0.3.151";
src = fetchFromGitHub {
owner = "MarcoIeni";
repo = "release-plz";
rev = "release-plz-v${version}";
hash = "sha256-gV1B7c7yC5KBjQ5y44dAgMUuGtL55ICM++kNShNh/nM=";
hash = "sha256-yH+ggH5bJNvdD+iv3gk6PZ/EXHoQhdl7ur9Sj6/GE/Q=";
};
cargoHash = "sha256-o1Gds4UDZRVstPNPaisriUUeX0fabqLrS5TSqXMEB1c=";
cargoHash = "sha256-hi0TghUBEXBMSXq+gjxeGZWzpqzQTBg8WGOdkzP1Q70=";
nativeBuildInputs = [
installShellFiles

View File

@@ -16,13 +16,13 @@
}:
stdenv.mkDerivation (finalAttrs: {
pname = "renovate";
version = "42.76.4";
version = "42.83.1";
src = fetchFromGitHub {
owner = "renovatebot";
repo = "renovate";
tag = finalAttrs.version;
hash = "sha256-kmQzhmXmrVr3yDecjq2BxGkORgYWnRUi+p/TGd3we7Q=";
hash = "sha256-AUGtr1sePGfALOTdalCqos6Iqv8SQsC4BurAuyiwdN0=";
};
postPatch = ''
@@ -44,7 +44,7 @@ stdenv.mkDerivation (finalAttrs: {
inherit (finalAttrs) pname version src;
pnpm = pnpm_10;
fetcherVersion = 2;
hash = "sha256-KcZ4MGo/5hZ6DJ/YLaHzd2mp/PEb9a3AlujDMgqHm28=";
hash = "sha256-Gw5q7S867OpkANsf3m+Z+TV8FSQkmDXW48hRttUDtQ0=";
};
env.COREPACK_ENABLE_STRICT = 0;

View File

@@ -0,0 +1,38 @@
{
lib,
rustPlatform,
makeBinaryWrapper,
steel,
}:
rustPlatform.buildRustPackage {
pname = "steel-language-server";
inherit (steel)
version
src
cargoHash
postPatch
;
nativeBuildInputs = [
makeBinaryWrapper
rustPlatform.bindgenHook
];
cargoBuildFlags = [
"--package"
"steel-language-server"
];
doCheck = false;
postFixup = ''
wrapProgram $out/bin/steel-language-server --set-default STEEL_HOME "${steel}/lib/steel"
'';
meta = steel.meta // {
description = "Steel language server";
maintainers = steel.meta.maintainers ++ [ lib.maintainers.higherorderlogic ];
mainProgram = "steel-language-server";
};
}

View File

@@ -91,6 +91,9 @@ rustPlatform.buildRustPackage {
postFixup = ''
wrapProgram $out/bin/steel --set-default STEEL_HOME "$out/lib/steel"
wrapProgram $out/bin/steel-language-server --set-default STEEL_HOME "$out/lib/steel"
wrapProgram $out/bin/forge --set-default STEEL_HOME "$out/lib/steel"
wrapProgram $out/bin/cargo-steel-lib --set-default STEEL_HOME "$out/lib/steel"
'';
env = {

View File

@@ -420,6 +420,7 @@ lib.extendMkDerivation {
optional-dependencies
;
updateScript = nix-update-script { };
${if attrs ? stdenv then "__stdenvPythonCompat" else null} = attrs.stdenv;
}
// attrs.passthru or { };

View File

@@ -53,15 +53,28 @@ let
f':
lib.mirrorFunctionArgs f (
args:
if !(lib.isFunction args) && (args ? stdenv) then
lib.warnIf (lib.oldestSupportedReleaseIsAtLeast 2511) ''
${
args.name or args.pname or "<unnamed>"
}: Passing `stdenv` directly to `buildPythonPackage` or `buildPythonApplication` is deprecated. You should use their `.override` function instead, e.g:
buildPythonPackage.override { stdenv = customStdenv; } { }
'' (f'.override { inherit (args) stdenv; } (removeAttrs args [ "stdenv" ]))
let
result = f args;
getName = x: x.pname or (lib.getName (x.name or "<unnamed>"));
applyMsgStdenvArg =
name:
lib.warnIf (lib.oldestSupportedReleaseIsAtLeast 2511) ''
${name}: Passing `stdenv` directly to `buildPythonPackage` or `buildPythonApplication` is deprecated. You should use their `.override` function instead, e.g:
buildPythonPackage.override { stdenv = customStdenv; } { }
'';
in
if lib.isFunction args && result ? __stdenvPythonCompat then
# Less reliable, as constructing with the wrong `stdenv` might lead to evaluation errors in the package definition.
f'.override { stdenv = applyMsgStdenvArg (getName result) result.__stdenvPythonCompat; } (
finalAttrs: removeAttrs (args finalAttrs) [ "stdenv" ]
)
else if (!lib.isFunction args) && (args ? stdenv) then
# More reliable, but only works when args is not `(finalAttrs: { })`
f'.override { stdenv = applyMsgStdenvArg (getName args) args.stdenv; } (
removeAttrs args [ "stdenv" ]
)
else
f args
result
)
// {
# Preserve the effect of overrideStdenvCompat when calling `buildPython*.override`.

View File

@@ -5,6 +5,7 @@
findlib,
framac,
camlzip,
dune-site,
ocamlgraph,
menhirLib,
ppx_deriving,
@@ -23,6 +24,7 @@ stdenv.mkDerivation {
propagatedBuildInputs = [
camlzip
dune-site
menhirLib
ocamlgraph
ppx_deriving

View File

@@ -18,6 +18,10 @@ buildDunePackage rec {
hash = "sha256-0Yy5T/S3Npwt0XJmEsdXGg5AXYi9vV9UG9nMSzz/CEc=";
};
patches = [
./remove-stdcompat.patch
];
buildInputs = [
utop
];

View File

@@ -0,0 +1,11 @@
diff --git a/pyml_stubs.c b/pyml_stubs.c
index 40e3481..e7826f1 100644
--- a/pyml_stubs.c
+++ b/pyml_stubs.c
@@ -11,7 +11,6 @@
#include <stdio.h>
#include <stdlib.h>
#include <errno.h>
-#include <stdcompat.h>
#include <assert.h>
#include "pyml_stubs.h"

View File

@@ -7,22 +7,22 @@
buildDunePackage rec {
pname = "stdcompat";
version = "19";
version = "21.1";
minimalOCamlVersion = "4.06";
minimalOCamlVersion = "4.11";
src = fetchurl {
url = "https://github.com/thierry-martinez/stdcompat/releases/download/v${version}/stdcompat-${version}.tar.gz";
sha256 = "sha256-DKQGd4nnIN6SPls6hcA/2Jvc7ivYNpeMU6rYsVc1ClU=";
url = "https://github.com/ocamllibs/stdcompat/archive/refs/tags/${version}.tar.gz";
sha256 = "sha256-RSJ9AgUEmt23QZCk60ETIXmkJhG7knQe+s8wNxxIHm4=";
};
# Otherwise ./configure script will run and create files conflicting with dune.
dontConfigure = true;
meta = {
homepage = "https://github.com/thierry-martinez/stdcompat";
homepage = "https://github.com/ocamllibs/stdcompat";
license = lib.licenses.bsd2;
maintainers = [ lib.maintainers.vbgl ];
broken = lib.versionAtLeast ocaml.version "5.2";
broken = lib.versionAtLeast ocaml.version "5.4";
};
}

View File

@@ -1,44 +0,0 @@
{
lib,
buildPythonPackage,
fetchPypi,
aiohttp,
ciso8601,
setuptools,
pandas,
}:
buildPythonPackage rec {
pname = "aioinflux";
version = "0.9.0";
pyproject = true;
src = fetchPypi {
inherit pname version;
hash = "sha256-cg0FapBprDaI+Ds1eGsjTIkK+3yaN560IeU3nh6rxcs=";
};
build-system = [ setuptools ];
dependencies = [
aiohttp
ciso8601
pandas
];
# Tests require InfluxDB server
doCheck = false;
pythonImportsCheck = [ "aioinflux" ];
meta = {
description = "Asynchronous Python client for InfluxDB";
homepage = "https://github.com/gusutabopb/aioinflux";
changelog = "https://github.com/gusutabopb/aioinflux/releases/tag/v${version}";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [
liamdiprose
lopsided98
];
};
}

View File

@@ -6,7 +6,6 @@
fetchPypi,
isPy27,
pytestCheckHook,
pythonAtLeast,
setuptools,
}:
@@ -37,7 +36,7 @@ buildPythonPackage rec {
enabledTestPaths = [ "test/unittests.py" ];
disabledTests = lib.optionals (pythonAtLeast "3.10") [
disabledTests = [
# https://github.com/WojciechMula/aspell-python/issues/22
"test_add"
"test_get"

View File

@@ -2,56 +2,66 @@
lib,
buildPythonPackage,
fetchFromGitHub,
fetchpatch2,
attrs,
argon2-cffi,
cbor2,
# build-system
cffi,
hatchling,
setuptools,
# dependencies
cryptography,
flatbuffers,
hyperlink,
mock,
msgpack,
passlib,
py-ubjson,
pynacl,
pygobject3,
txaio,
# optional-dependencies
# compress
python-snappy,
# encryption
base58,
pyopenssl,
qrcode,
pytest-asyncio_0,
python-snappy,
pytestCheckHook,
pythonOlder,
service-identity,
setuptools,
twisted,
txaio,
# scram
argon2-cffi,
passlib,
# serialization
cbor2,
flatbuffers,
msgpack,
ujson,
py-ubjson,
# twisted
attrs,
twisted,
zope-interface,
# ui
pygobject3,
# tests
mock,
pytest-asyncio_0,
pytestCheckHook,
}:
buildPythonPackage rec {
buildPythonPackage (finalAttrs: {
pname = "autobahn";
version = "24.4.2";
version = "25.12.2";
pyproject = true;
src = fetchFromGitHub {
owner = "crossbario";
repo = "autobahn-python";
tag = "v${version}";
hash = "sha256-aeTE4a37zr83KZ+v947XikzFrHAhkZ4mj4tXdkQnB84=";
tag = "v${finalAttrs.version}";
hash = "sha256-vSS7DpfGfNwQT8OsgEXJaP5J40QFIopdAD94/y7/jFY=";
};
patches = [
(fetchpatch2 {
# removal of broken pytest-asyncio markers
url = "https://github.com/crossbario/autobahn-python/commit/7bc85b34e200640ab98a41cfddb38267f39bc92e.patch";
hash = "sha256-JbuYWQhvjlXuHde8Z3ZSJAyrMOdIcE1GOq+Eh2HTz8c=";
})
build-system = [
cffi
hatchling
setuptools
];
build-system = [ setuptools ];
dependencies = [
cryptography
hyperlink
@@ -59,29 +69,6 @@ buildPythonPackage rec {
txaio
];
nativeCheckInputs = [
mock
pytest-asyncio_0
pytestCheckHook
]
++ optional-dependencies.scram
++ optional-dependencies.serialization;
preCheck = ''
# Run asyncio tests (requires twisted)
export USE_ASYNCIO=1
'';
enabledTestPaths = [
"./autobahn"
];
disabledTestPaths = [
"./autobahn/twisted"
];
pythonImportsCheck = [ "autobahn" ];
optional-dependencies = lib.fix (self: {
all =
self.accelerate
@@ -97,6 +84,8 @@ buildPythonPackage rec {
];
compress = [ python-snappy ];
encryption = [
base58
# ecdsa (marked as insecure)
pynacl
pyopenssl
qrcode # pytrie
@@ -123,11 +112,40 @@ buildPythonPackage rec {
ui = [ pygobject3 ];
});
pythonImportsCheck = [ "autobahn" ];
nativeCheckInputs = [
mock
pytest-asyncio_0
pytestCheckHook
]
++ finalAttrs.passthru.optional-dependencies.encryption
++ finalAttrs.passthru.optional-dependencies.scram
++ finalAttrs.passthru.optional-dependencies.serialization;
preCheck = ''
# Run asyncio tests (requires twisted)
export USE_ASYNCIO=1
rm src/autobahn/__init__.py
'';
enabledTestPaths = [
"src/autobahn"
];
disabledTestPaths = [
"src/autobahn/twisted"
# Requires insecure ecdsa library
"src/autobahn/wamp/test/test_wamp_cryptosign.py"
];
meta = {
changelog = "https://github.com/crossbario/autobahn-python/blob/${src.rev}/docs/changelog.rst";
description = "WebSocket and WAMP in Python for Twisted and asyncio";
homepage = "https://crossbar.io/autobahn";
downloadPage = "https://github.com/crossbario/autobahn-python";
changelog = "https://github.com/crossbario/autobahn-python/blob/${finalAttrs.src.tag}/docs/changelog.rst";
license = lib.licenses.mit;
maintainers = [ ];
};
}
})

View File

@@ -3,6 +3,7 @@
stdenv,
buildPythonPackage,
fetchFromGitHub,
pythonAtLeast,
# build-system
pybind11,
@@ -31,7 +32,7 @@
pytestCheckHook,
}:
buildPythonPackage rec {
buildPythonPackage (finalAttrs: {
pname = "compressai";
version = "1.2.8";
pyproject = true;
@@ -39,9 +40,9 @@ buildPythonPackage rec {
src = fetchFromGitHub {
owner = "InterDigitalInc";
repo = "CompressAI";
tag = "v${version}";
hash = "sha256-Fgobh7Q1rKomcqAT4kJl2RsM1W13ErO8sFB2urCqrCk=";
tag = "v${finalAttrs.version}";
fetchSubmodules = true;
hash = "sha256-Fgobh7Q1rKomcqAT4kJl2RsM1W13ErO8sFB2urCqrCk=";
};
build-system = [
@@ -100,6 +101,12 @@ buildPythonPackage rec {
# Flaky (AssertionError: assert 0.08889999999999998 < 0.064445)
"test_compiling"
"test_find_close"
]
++ lib.optionals (pythonAtLeast "3.14") [
# AttributeError: '...' object has no attribute '__annotations__'
"test_gdn"
"test_gdn1"
"test_lower_bound_script"
];
disabledTestPaths = lib.optionals stdenv.hostPlatform.isDarwin [
@@ -117,4 +124,4 @@ buildPythonPackage rec {
license = lib.licenses.bsd3Clear;
maintainers = with lib.maintainers; [ GaetanLepage ];
};
}
})

View File

@@ -2,14 +2,12 @@
lib,
buildPythonPackage,
fetchPypi,
pythonAtLeast,
}:
buildPythonPackage rec {
pname = "crashtest";
version = "0.4.1";
format = "setuptools";
disabled = !(pythonAtLeast "3.6");
src = fetchPypi {
inherit pname version;

View File

@@ -2,7 +2,6 @@
lib,
buildPythonPackage,
fetchFromGitHub,
pythonAtLeast,
attrs,
isodate,
python-dateutil,
@@ -43,8 +42,6 @@ buildPythonPackage rec {
# this test is flaky on darwin because it depends on the resolution of filesystem mtimes
# https://github.com/cldf/csvw/blob/45584ad63ff3002a9b3a8073607c1847c5cbac58/tests/test_db.py#L257
"test_write_file_exists"
]
++ lib.optionals (pythonAtLeast "3.10") [
# https://github.com/cldf/csvw/issues/58
"test_roundtrip_escapechar"
"test_escapequote_escapecharquotechar_final"

View File

@@ -2,8 +2,6 @@
lib,
buildPythonPackage,
fetchPypi,
isPy27,
pythonAtLeast,
keras,
numpy,
scipy,
@@ -16,8 +14,6 @@ buildPythonPackage rec {
version = "1.3.5";
format = "setuptools";
disabled = !(isPy27 || pythonAtLeast "3.4");
src = fetchPypi {
inherit pname version;
sha256 = "3818b39e77c26fc1a37767a74fdd5e7d02877d75ed901ead2f40bd03baaa109f";

View File

@@ -2,10 +2,6 @@
lib,
buildPythonPackage,
fetchFromGitHub,
isPy27,
isPy38,
isPy39,
pythonAtLeast,
setuptools,
flake8,
six,
@@ -25,15 +21,9 @@ buildPythonPackage rec {
hash = "sha256-2EcCOx3+PCk9LYpQjHCFNpQVI2Pdi+lWL8R6bNadFe0=";
};
patches =
lib.optionals (pythonAtLeast "3.10") [ ./fix-annotations-version-11.patch ]
++ lib.optionals (isPy38 || isPy39) [ ./fix-annotations-version-10.patch ]
++ lib.optionals isPy27 [
# Upstream disables this test case naturally on python 3, but it also fails
# inside NixPkgs for python 2. Since it's going to be deleted, we just skip it
# on py2 as well.
./skip-test.patch
];
patches = [
./fix-annotations-version-11.patch
];
postPatch = ''
substituteInPlace "test_flake8_future_import.py" \

View File

@@ -1,13 +0,0 @@
diff --git a/flake8_future_import.py b/flake8_future_import.py
index 92c3fda..27a1a66 100755
--- a/flake8_future_import.py
+++ b/flake8_future_import.py
@@ -76,7 +76,7 @@ UNICODE_LITERALS = Feature(4, 'unicode_literals', (2, 6, 0), (3, 0, 0))
GENERATOR_STOP = Feature(5, 'generator_stop', (3, 5, 0), (3, 7, 0))
NESTED_SCOPES = Feature(6, 'nested_scopes', (2, 1, 0), (2, 2, 0))
GENERATORS = Feature(7, 'generators', (2, 2, 0), (2, 3, 0))
-ANNOTATIONS = Feature(8, 'annotations', (3, 7, 0), (4, 0, 0))
+ANNOTATIONS = Feature(8, 'annotations', (3, 7, 0), (3, 10, 0))
# Order important as it defines the error code

View File

@@ -1,13 +0,0 @@
diff --git a/test_flake8_future_import.py b/test_flake8_future_import.py
index 84fde59..345f23f 100644
--- a/test_flake8_future_import.py
+++ b/test_flake8_future_import.py
@@ -230,7 +230,7 @@ class TestBadSyntax(TestCaseBase):
"""Test using various bad syntax examples from Python's library."""
-@unittest.skipIf(sys.version_info[:2] >= (3, 7), 'flake8 supports up to 3.6')
+@unittest.skip("Has issue with installed path for flake8 in python2")
class Flake8TestCase(TestCaseBase):
"""

View File

@@ -11,7 +11,6 @@
pytest-randomly,
pytest-timeout,
pytestCheckHook,
pythonAtLeast,
six,
}:
@@ -42,9 +41,6 @@ buildPythonPackage rec {
__darwinAllowLocalNetworking = true;
# Don't run tests for older Pythons
doCheck = pythonAtLeast "3.9";
disabledTests = [
# ValueError: Unable to load PEM file.
# https://github.com/httplib2/httplib2/issues/192#issuecomment-993165140

View File

@@ -8,14 +8,14 @@
buildPythonPackage (finalAttrs: {
pname = "iamdata";
version = "0.1.202601191";
version = "0.1.202601201";
pyproject = true;
src = fetchFromGitHub {
owner = "cloud-copilot";
repo = "iam-data-python";
tag = "v${finalAttrs.version}";
hash = "sha256-fdHOXm+FJcHHSb01z6e01zHQmt0ZRl2/gs9wrtTR468=";
hash = "sha256-s+1J/NPlGxdthGL2lHPQ9bpvrgujiYvBKGhOFbKGflw=";
};
__darwinAllowLocalNetworking = true;

View File

@@ -4,7 +4,6 @@
fetchFromGitHub,
marshmallow,
pytestCheckHook,
pythonAtLeast,
setuptools,
typeguard,
typing-inspect,
@@ -39,7 +38,7 @@ buildPythonPackage rec {
"-Wignore::DeprecationWarning"
];
disabledTests = lib.optionals (pythonAtLeast "3.10") [
disabledTests = [
# TypeError: UserId is not a dataclass and cannot be turned into one.
"test_newtype"
];

View File

@@ -10,7 +10,6 @@
scikit-learn,
scipy,
pytestCheckHook,
pythonAtLeast,
}:
buildPythonPackage rec {
@@ -44,7 +43,7 @@ buildPythonPackage rec {
pythonImportsCheck = [ "persim" ];
disabledTests = lib.optionals (pythonAtLeast "3.10") [
disabledTests = [
# AttributeError: module 'collections' has no attribute 'Iterable'
"test_empyt_diagram_list"
"test_empty_diagram_list"

View File

@@ -22,18 +22,21 @@
typer,
typing-extensions,
uvicorn,
# optional-dependencies
soundfile,
}:
buildPythonPackage (finalAttrs: {
pname = "pocket-tts";
version = "1.0.1";
version = "1.0.2";
pyproject = true;
src = fetchFromGitHub {
owner = "kyutai-labs";
repo = "pocket-tts";
tag = "v${finalAttrs.version}";
hash = "sha256-VFLpUsHnQYSr5RgNKJOX1TD30o1A8rG4cs2VeZWriaU=";
hash = "sha256-m//UCZEENE5bl9TV0rDCA3Th1TykvC5oZLay+f7lEr8=";
};
build-system = [
@@ -62,6 +65,12 @@ buildPythonPackage (finalAttrs: {
uvicorn
];
optional-dependencies = {
audio = [
soundfile
];
};
pythonImportsCheck = [ "pocket_tts" ];
# All tests are failing as the model cannot be downloaded from the sandbox

View File

@@ -10,7 +10,6 @@
gnupg,
pbr,
pexpect,
pythonAtLeast,
pytestCheckHook,
setuptools,
replaceVars,
@@ -41,8 +40,7 @@ buildPythonPackage rec {
})
];
# Remove enum34 requirement if Python >= 3.4
pythonRemoveDeps = lib.optionals (pythonAtLeast "3.4") [
pythonRemoveDeps = [
"enum34"
];

View File

@@ -25,13 +25,13 @@
buildPythonPackage rec {
pname = "python-heatclient";
version = "4.3.0";
version = "5.0.0";
pyproject = true;
src = fetchPypi {
pname = "python_heatclient";
inherit version;
hash = "sha256-itp863fyXw2+OuLjMoowRhrblP+/NrDCqrwszkg7dfA=";
hash = "sha256-q3CtG+bRPo9gNHl6KJSutDU33EKUun/7C0pBe1ahpx4=";
};
build-system = [

View File

@@ -23,7 +23,7 @@
writableTmpDirAsHomeHook,
}:
buildPythonPackage rec {
buildPythonPackage (finalAttrs: {
pname = "qcodes-contrib-drivers";
version = "0.23.0";
pyproject = true;
@@ -31,7 +31,7 @@ buildPythonPackage rec {
src = fetchFromGitHub {
owner = "QCoDeS";
repo = "Qcodes_contrib_drivers";
tag = "v${version}";
tag = "v${finalAttrs.version}";
hash = "sha256-m2idBaQl2OVhrY5hcLTeXY6BycGf0ufa/ySgxaU2L/4=";
};
@@ -71,8 +71,8 @@ buildPythonPackage rec {
meta = {
description = "User contributed drivers for QCoDeS";
homepage = "https://github.com/QCoDeS/Qcodes_contrib_drivers";
changelog = "https://github.com/QCoDeS/Qcodes_contrib_drivers/releases/tag/v${version}";
changelog = "https://github.com/QCoDeS/Qcodes_contrib_drivers/releases/tag/${finalAttrs.src.tag}";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ evilmav ];
};
}
})

View File

@@ -14,11 +14,11 @@
h5netcdf,
h5py,
ipykernel,
ipython,
ipywidgets,
jsonschema,
libcst,
matplotlib,
networkx,
numpy,
opentelemetry-api,
packaging,
@@ -32,12 +32,10 @@
typing-extensions,
uncertainties,
websockets,
wrapt,
xarray,
# optional-dependencies
furo,
jinja2,
nbsphinx,
pyvisa-sim,
scipy,
@@ -59,21 +57,23 @@
writableTmpDirAsHomeHook,
}:
buildPythonPackage rec {
buildPythonPackage (finalAttrs: {
pname = "qcodes";
version = "0.53.0";
version = "0.54.4";
pyproject = true;
src = fetchFromGitHub {
owner = "microsoft";
repo = "Qcodes";
tag = "v${version}";
hash = "sha256-uXVL25U7szJF/v7OEsB9Ww1h6ziBxsMJdqhZG5qn0VU=";
tag = "v${finalAttrs.version}";
hash = "sha256-xiD/Iy/5FVadOc9/AxUbGgpOlyli2g6/hwpY1J3/urE=";
};
postPatch = ''
substituteInPlace pyproject.toml \
--replace-fail 'default-version = "0.0"' 'default-version = "${version}"'
--replace-fail \
'default-version = "0.54.0dev+Unknown"' \
'default-version = "${finalAttrs.version}"'
'';
build-system = [
@@ -88,10 +88,10 @@ buildPythonPackage rec {
h5netcdf
h5py
ipykernel
ipython
ipywidgets
jsonschema
matplotlib
networkx
numpy
opentelemetry-api
packaging
@@ -105,7 +105,6 @@ buildPythonPackage rec {
typing-extensions
uncertainties
websockets
wrapt
xarray
];
@@ -113,7 +112,6 @@ buildPythonPackage rec {
docs = [
# autodocsumm
furo
jinja2
nbsphinx
pyvisa-sim
# qcodes-loop
@@ -160,6 +158,13 @@ buildPythonPackage rec {
"--hypothesis-profile ci"
# Follow upstream with settings
"--durations=20"
# ERROR tests/test_interactive_widget.py - DeprecationWarning: Jupyter is migrating its paths to use standard platformdirs
# given by the platformdirs library. To remove this warning and
# see the appropriate new directories, set the environment variable
# `JUPYTER_PLATFORM_DIRS=1` and then run `jupyter --paths`.
# The use of platformdirs will be the default in `jupyter_core` v6
"-Wignore::DeprecationWarning"
];
disabledTestPaths = [
@@ -200,10 +205,12 @@ buildPythonPackage rec {
meta = {
description = "Python-based data acquisition framework";
changelog = "https://github.com/QCoDeS/Qcodes/releases/tag/${src.tag}";
changelog = "https://github.com/QCoDeS/Qcodes/releases/tag/${finalAttrs.src.tag}";
downloadPage = "https://github.com/QCoDeS/Qcodes";
homepage = "https://qcodes.github.io/Qcodes/";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ evilmav ];
maintainers = with lib.maintainers; [
GaetanLepage
];
};
}
})

View File

@@ -9,8 +9,6 @@
# dependencies
pyyaml,
requests,
pythonAtLeast,
importlib-resources,
}:
buildPythonPackage rec {
@@ -30,8 +28,7 @@ buildPythonPackage rec {
dependencies = [
pyyaml
requests
]
++ lib.optionals (!pythonAtLeast "3.9") [ importlib-resources ];
];
SKHEP_DATA = 1; # install the actual root files

View File

@@ -4,7 +4,6 @@
fetchPypi,
isPy27,
pytestCheckHook,
pythonAtLeast,
}:
buildPythonPackage rec {
@@ -21,7 +20,7 @@ buildPythonPackage rec {
nativeCheckInputs = [ pytestCheckHook ];
disabledTests = lib.optionals (pythonAtLeast "3.10") [ "test_declaration_junk_chars" ];
disabledTests = [ "test_declaration_junk_chars" ];
doCheck = false;

View File

@@ -71,7 +71,7 @@
pythonAtLeast,
}:
buildPythonPackage rec {
buildPythonPackage (finalAttrs: {
pname = "torch-geometric";
version = "2.7.0";
pyproject = true;
@@ -79,7 +79,7 @@ buildPythonPackage rec {
src = fetchFromGitHub {
owner = "pyg-team";
repo = "pytorch_geometric";
tag = version;
tag = finalAttrs.version;
hash = "sha256-xlOzpoYRoEfIRWSQoZbEPvUW43AMr3rCgIYnxwG/z3A=";
};
@@ -165,9 +165,7 @@ buildPythonPackage rec {
];
};
pythonImportsCheck = [
"torch_geometric"
];
pythonImportsCheck = [ "torch_geometric" ];
nativeCheckInputs = [
pytestCheckHook
@@ -249,26 +247,67 @@ buildPythonPackage rec {
# RuntimeError: Boolean value of Tensor with more than one value is ambiguous
"test_feature_store"
]
++ lib.optionals (pythonAtLeast "3.14") [
# TypeError: cannot pickle 'sqlite3.Connection' object
"test_dataloader_on_disk_dataset"
# AssertionError: assert False
# assert utils.supports_bipartite_graphs('SAGEConv')
"test_gnn_cheatsheet"
# AttributeError: readonly attribute
"test_fill_config_store"
"test_register"
"test_to_dataclass"
# AttributeError: '...' object has no attribute '__annotations__'
"test_degree_scaler_aggregation"
"test_explain_message"
"test_fused_aggregation"
"test_gcn_conv_with_decomposed_layers"
"test_hetero_dict_linear_jit"
"test_hetero_linear_basic"
"test_jit"
"test_mlp"
"test_multi_agg"
"test_my_commented_conv"
"test_my_conv_jit"
"test_my_conv_jit_save"
"test_my_default_arg_conv"
"test_my_edge_conv_jit"
"test_my_kwargs_conv"
"test_my_multiple_aggr_conv_jit"
"test_pickle"
"test_sequential_jit"
"test_torch_script"
"test_traceable_my_conv_with_self_loops"
"test_tuple_output_jit"
];
disabledTestPaths = lib.optionals stdenv.hostPlatform.isDarwin [
# MPS (Metal) tests are failing when using `libtorch_cpu`.
# Crashes in `structured_cat_out_mps`
"test/nn/models/test_deep_graph_infomax.py::test_infomax_predefined_model[mps]"
"test/nn/norm/test_instance_norm.py::test_instance_norm[True-mps]"
"test/nn/norm/test_instance_norm.py::test_instance_norm[False-mps]"
"test/nn/norm/test_layer_norm.py::test_layer_norm[graph-True-mps]"
"test/nn/norm/test_layer_norm.py::test_layer_norm[graph-False-mps]"
"test/nn/norm/test_layer_norm.py::test_layer_norm[node-True-mps]"
"test/nn/norm/test_layer_norm.py::test_layer_norm[node-False-mps]"
"test/utils/test_scatter.py::test_group_cat[mps]"
];
disabledTestPaths =
lib.optionals stdenv.hostPlatform.isDarwin [
# MPS (Metal) tests are failing when using `libtorch_cpu`.
# Crashes in `structured_cat_out_mps`
"test/nn/models/test_deep_graph_infomax.py::test_infomax_predefined_model[mps]"
"test/nn/norm/test_instance_norm.py::test_instance_norm[True-mps]"
"test/nn/norm/test_instance_norm.py::test_instance_norm[False-mps]"
"test/nn/norm/test_layer_norm.py::test_layer_norm[graph-True-mps]"
"test/nn/norm/test_layer_norm.py::test_layer_norm[graph-False-mps]"
"test/nn/norm/test_layer_norm.py::test_layer_norm[node-True-mps]"
"test/nn/norm/test_layer_norm.py::test_layer_norm[node-False-mps]"
"test/utils/test_scatter.py::test_group_cat[mps]"
]
++ lib.optionals (pythonAtLeast "3.14") [
# AttributeError: '...' object has no attribute '__annotations__'
"test/nn/aggr/test_aggr_utils.py"
];
meta = {
description = "Graph Neural Network Library for PyTorch";
homepage = "https://github.com/pyg-team/pytorch_geometric";
changelog = "https://github.com/pyg-team/pytorch_geometric/blob/${src.rev}/CHANGELOG.md";
changelog = "https://github.com/pyg-team/pytorch_geometric/blob/${finalAttrs.src.tag}/CHANGELOG.md";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ GaetanLepage ];
};
}
})

View File

@@ -1,54 +1,38 @@
{
lib,
buildPythonPackage,
fetchPypi,
mock,
pytest-asyncio,
fetchFromGitHub,
hatchling,
pytestCheckHook,
twisted,
zope-interface,
}:
buildPythonPackage rec {
buildPythonPackage (finalAttrs: {
pname = "txaio";
version = "25.6.1";
format = "setuptools";
version = "25.12.2";
pyproject = true;
src = fetchPypi {
inherit pname version;
hash = "sha256-2MA9yoI1Fcm8qSDfM1BJI65U8tq/R2zFqe1cwWke1oc=";
src = fetchFromGitHub {
owner = "crossbario";
repo = "txaio";
tag = "v${lib.replaceString "." "_" finalAttrs.version}";
hash = "sha256-/vlkjSOlQYbRpjMySBzoSBSXm0yxWSHmzIF3ZfFIR64=";
};
propagatedBuildInputs = [
twisted
zope-interface
build-system = [
hatchling
];
nativeCheckInputs = [
mock
pytest-asyncio
pytestCheckHook
];
disabledTests = [
# No real value
"test_sdist"
# Some tests seems out-dated and require additional data
"test_as_future"
"test_errback"
"test_create_future"
"test_callback"
"test_immediate_result"
"test_cancel"
];
pythonImportsCheck = [ "txaio" ];
meta = {
description = "Utilities to support code that runs unmodified on Twisted and asyncio";
homepage = "https://github.com/crossbario/txaio";
changelog = "https://github.com/crossbario/txaio/blob/v${version}/docs/releases.rst";
changelog = "https://github.com/crossbario/txaio/blob/${finalAttrs.src.tag}/docs/releases.rst";
license = lib.licenses.mit;
maintainers = [ ];
};
}
})

View File

@@ -4,7 +4,6 @@
buildPythonPackage,
publicsuffix2,
pytestCheckHook,
pythonAtLeast,
}:
buildPythonPackage rec {
pname = "urlpy";
@@ -24,7 +23,7 @@ buildPythonPackage rec {
nativeCheckInputs = [ pytestCheckHook ];
disabledTests = lib.optionals (pythonAtLeast "3.9") [
disabledTests = [
# Fails with "AssertionError: assert 'unknown' == ''"
"test_unknown_protocol"
];

View File

@@ -4,7 +4,6 @@
fetchPypi,
installShellFiles,
pytestCheckHook,
pythonAtLeast,
setuptools,
}:
@@ -26,7 +25,7 @@ buildPythonPackage rec {
pythonImportsCheck = [ "xkcdpass" ];
disabledTests = lib.optionals (pythonAtLeast "3.10") [
disabledTests = [
# https://github.com/redacted/XKCD-password-generator/issues/138
"test_entropy_printout_valid_input"
];

View File

@@ -6,16 +6,16 @@
buildNpmPackage rec {
pname = "universal-remote-card";
version = "4.9.4";
version = "4.9.5";
src = fetchFromGitHub {
owner = "Nerwyn";
repo = "android-tv-card";
rev = version;
hash = "sha256-gPzFF6MeA9JDCUp6Vz0HokKcxyV3Qw71dW3CBexsv1U=";
hash = "sha256-0odR9ZCXS8vovQTX81U2PL1i45ftijJ/WRWk00DBWXc=";
};
npmDepsHash = "sha256-TcaA73aG9CNxu4KUfYsbs9vOwKgz70lEoI8KSCro61M=";
npmDepsHash = "sha256-Z9u7fNd9XB41HiD0MuMy9xjq3mROSYp1sTRyJ0Rf9xw=";
installPhase = ''
runHook preInstall

View File

@@ -42,10 +42,10 @@
"version": "3.2.1"
},
"cookie-notice": {
"path": "cookie-notice/tags/2.5.6",
"rev": "3262965",
"sha256": "1h7avy7mni4cfvh672vnk6n4npz57mpgm8xssp089hn8vqj2d1zx",
"version": "2.5.6"
"path": "cookie-notice/tags/2.5.11",
"rev": "3416491",
"sha256": "0g9xy3dgywnqv2v0wd34rixdqavkrp8zkv6bm8h6kh5q77n168a5",
"version": "2.5.11"
},
"disable-xml-rpc": {
"path": "disable-xml-rpc/tags/1.0.1",

View File

@@ -1,14 +1,26 @@
{
lib,
stdenv,
fetchurl,
fetchFromGitLab,
autoreconfHook,
pkg-config,
git,
guile,
guile_3_0,
curl,
nix-update-script,
}:
let
# Akku currently breaks starting with Guile 3.0.11.
# So we pin Guile 3.0.10 for now.
# https://hydra.nixos.org/build/319214800/nixlog/1/tail
guile_3_0_10 = guile_3_0.overrideAttrs {
src = fetchurl {
url = "mirror://gnu/guile/guile-3.0.10.tar.xz";
sha256 = "sha256-vXFoUX/VJjM0RtT3q4FlJ5JWNAlPvTcyLhfiuNjnY4g=";
};
};
in
stdenv.mkDerivation rec {
pname = "akku";
version = "1.1.0-unstable-2025-11-08";
@@ -27,7 +39,7 @@ stdenv.mkDerivation rec {
# akku calls curl commands
buildInputs = [
guile
guile_3_0_10
curl
git
];

View File

@@ -5,6 +5,10 @@ callPackage ./generic.nix (
// {
version = "0.3.3";
sha256 = "0g5df00cj4nczrmr4k791l7la0sq2wnf8rn981fsrz1f3d2yix4i";
patches = [ ./drop-comments.patch ]; # we would get into a cycle when using fetchpatch on this one
patches = [
# we would get into a cycle when using fetchpatch on this one
./drop-comments.patch
./getenv-signature.patch
];
}
)

View File

@@ -7,6 +7,9 @@ callPackage ./generic.nix (
sha256 = "sha256-iHWwll/jPeYriQ9s15O+f6/kGk5VLtv2QfH+1eu/Re0=";
# for gitdiff
extraBuildInputs = [ python3 ];
patches = [ ./Make-grepdiff1-test-case-pcre-aware.patch ];
patches = [
./Make-grepdiff1-test-case-pcre-aware.patch
./getenv-signature.patch
];
}
)

View File

@@ -5,5 +5,8 @@ callPackage ./generic.nix (
// {
version = "0.3.4";
sha256 = "0xp8mcfyi5nmb5a2zi5ibmyshxkb1zv1dgmnyn413m7ahgdx8mfg";
patches = [
./getenv-signature.patch
];
}
)

View File

@@ -0,0 +1,46 @@
From 64e5c63ef72ab97ecae6d43845634aa34da0b426 Mon Sep 17 00:00:00 2001
From: Yureka <yuka@yuka.dev>
Date: Sun, 11 Jan 2026 16:49:07 +0100
Subject: [PATCH] getopt.{c,h}: Do not use unspecified signatures
Unspecified signatures no longer work with C23, and the GNU getopt signature matches the one specified by POSIX
---
src/getopt.c | 2 +-
src/getopt.h | 7 -------
2 files changed, 1 insertion(+), 8 deletions(-)
diff --git a/src/getopt.c b/src/getopt.c
index 9bafa45..c268441 100644
--- a/src/getopt.c
+++ b/src/getopt.c
@@ -209,7 +209,7 @@ static char *posixly_correct;
whose names are inconsistent. */
#ifndef getenv
-extern char *getenv ();
+extern char *getenv (const char *);
#endif
static char *
diff --git a/src/getopt.h b/src/getopt.h
index a1b8dd6..0aea224 100644
--- a/src/getopt.h
+++ b/src/getopt.h
@@ -138,14 +138,7 @@ struct option
`getopt'. */
#if (defined __STDC__ && __STDC__) || defined __cplusplus
-# ifdef __GNU_LIBRARY__
-/* Many other libraries have conflicting prototypes for getopt, with
- differences in the consts, in stdlib.h. To avoid compilation
- errors, only prototype getopt for the GNU C library. */
extern int getopt (int __argc, char *const *__argv, const char *__shortopts);
-# else /* not __GNU_LIBRARY__ */
-extern int getopt ();
-# endif /* __GNU_LIBRARY__ */
# ifndef __need_getopt
extern int getopt_long (int __argc, char *const *__argv, const char *__shortopts,
--
2.52.0

View File

@@ -560,6 +560,7 @@ mapAliases {
docker_26 = throw "'docker_26' has been removed because it has been unmaintained since February 2025. Use docker_28 or newer instead."; # Added 2025-06-21
docker_27 = throw "'docker_27' has been removed because it has been unmaintained since May 2025. Use docker_28 or newer instead."; # Added 2025-06-15
dockerfile-language-server-nodejs = warnAlias "'dockerfile-language-server-nodejs' has been renamed to 'dockerfile-language-server'" dockerfile-language-server; # Added 2025-09-12
docui = throw "'docui' has removed as it was deprecated and archived upstream. Consider using lazydocker instead"; # Added 2026-01-16
dogdns = throw "'dogdns' has been removed as it is unmaintained upstream and vendors insecure dependencies. Consider switching to 'doggo', a similar tool."; # Added 2025-12-31
dolphin-emu-beta = throw "'dolphin-emu-beta' has been renamed to/replaced by 'dolphin-emu'"; # Converted to throw 2025-10-27
dontRecurseIntoAttrs = warnAlias "dontRecurseIntoAttrs has been removed from pkgs, use `lib.dontRecurseIntoAttrs` instead" lib.dontRecurseIntoAttrs; # Added 2025-10-30

View File

@@ -668,12 +668,17 @@ let
fpath = callPackage ../development/ocaml-modules/fpath { };
frama-c = callPackage ../development/ocaml-modules/frama-c {
framac = pkgs.framac.override { ocamlPackages = self; };
framac = pkgs.framac.override {
ocamlPackages = self;
why3 = pkgs.why3.override { ocamlPackages = self; };
};
};
frama-c-lannotate = callPackage ../development/ocaml-modules/frama-c-lannotate { };
frama-c-luncov = callPackage ../development/ocaml-modules/frama-c-luncov { };
frama-c-luncov = callPackage ../development/ocaml-modules/frama-c-luncov {
why3 = pkgs.why3.override { ocamlPackages = self; };
};
frei0r = callPackage ../development/ocaml-modules/frei0r {
inherit (pkgs) frei0r;

View File

@@ -58,6 +58,7 @@ mapAliases {
# keep-sorted start case=no numeric=yes
abodepy = throw "'abodepy' has been renamed to/replaced by 'jaraco-abode'"; # Converted to throw 2025-10-29
aioinflux = throw "'aioinflux' was removed because it is abandonned upstream. For InfluxDB v2+ support, please use the official Python client library"; # Added 2026-01-15
aiosenz = throw "aiosenz was removed because Home Assistant switched to pysenz"; # added 2025-12-29
amazon-kclpy = throw "amazon-kclpy has been removed because it has been marked as broken since at least November 2024."; # Added 2025-10-03
amazon_kclpy = throw "'amazon_kclpy' has been renamed to/replaced by 'amazon-kclpy'"; # Converted to throw 2025-10-29

View File

@@ -362,8 +362,6 @@ self: super: with self; {
aioimmich = callPackage ../development/python-modules/aioimmich { };
aioinflux = callPackage ../development/python-modules/aioinflux { };
aioitertools = callPackage ../development/python-modules/aioitertools { };
aiojellyfin = callPackage ../development/python-modules/aiojellyfin { };