Merge master into staging-next

This commit is contained in:
nixpkgs-ci[bot]
2026-08-13 18:18:31 +00:00
committed by GitHub
148 changed files with 2396 additions and 829 deletions

View File

@@ -2331,6 +2331,12 @@
githubId = 8049011;
name = "Arik Grahl";
};
arison = {
email = "arison@duck.com";
github = "ArisoN-ext";
githubId = 181835726;
name = "ArisoN";
};
ariutta = {
email = "anders.riutta@gmail.com";
github = "ariutta";

View File

@@ -137,6 +137,7 @@ in
services.${systemdName} = {
inherit description;
path = [ config.programs.ssh.package ];
serviceConfig = {
Type = "oneshot";

View File

@@ -166,7 +166,7 @@ in
++ lib.optional cfg.enableScreensaver xfce4-screensaver
) excludePackages;
programs.gnupg.agent.pinentryPackage = mkDefault pkgs.pinentry-gtk2;
programs.gnupg.agent.pinentryPackage = mkDefault pkgs.pinentry-gnome3;
programs.xfconf.enable = true;
programs.thunar.enable = true;
programs.labwc.enable = mkDefault (

View File

@@ -26,9 +26,9 @@ let
url = "https://edgedl.me.gvt1.com/android/studio/ide-zips/2026.1.3.6/android-studio-quail3-rc2-linux.tar.gz";
};
latestVersion = {
version = "2026.1.4.3"; # "Android Studio Quail 4 | 2026.1.4 Canary 3"
sha256Hash = "sha256-2rJp5PBxBrp6poIsBDPwGZ7BshBaBPkLaKfe6fACl2Q=";
url = "https://edgedl.me.gvt1.com/android/studio/ide-zips/2026.1.4.3/android-studio-quail4-canary3-linux.tar.gz";
version = "2026.1.4.4"; # "Android Studio Quail 4 | 2026.1.4 Canary 4"
sha256Hash = "sha256-gcVlZzJ1/euSsKVrmYLXHt1Ym2kNghTzIk6crZXhGKQ=";
url = "https://edgedl.me.gvt1.com/android/studio/ide-zips/2026.1.4.4/android-studio-quail4-canary4-linux.tar.gz";
};
in
{

View File

@@ -733,13 +733,13 @@
"vendorHash": null
},
"ibm-cloud_ibm": {
"hash": "sha256-hDLD3h+640IRIL5lDegn4W2tOuSef6Bi5JWdlLbtqoM=",
"hash": "sha256-r34ih6c5UVovef14tNMkZA/QjJxVDTpfreeJPLE3fP8=",
"homepage": "https://registry.terraform.io/providers/IBM-Cloud/ibm",
"owner": "IBM-Cloud",
"repo": "terraform-provider-ibm",
"rev": "v2.4.0",
"rev": "v2.5.0",
"spdx": "MPL-2.0",
"vendorHash": "sha256-/UNr2OiDlq0gX3D77mbruDj9WMnS/0AxkoEaBcWlFHU="
"vendorHash": "sha256-e58CRr7mqENnAoF3eQyaypbsFr1sflrWHkx8U/JxCNA="
},
"icinga_icinga2": {
"hash": "sha256-Y/Oq0aTzP+oSKPhHiHY9Leal4HJJm7TNDpcdqkUsCmk=",
@@ -1202,13 +1202,13 @@
"vendorHash": "sha256-MIO0VHofPtKPtynbvjvEukMNr5NXHgk7BqwIhbc9+u0="
},
"selectel_selectel": {
"hash": "sha256-Z5Z66WIZur68s0VkmIpbowZr26J2Ngy2l5269I6SxVA=",
"hash": "sha256-IewnjIw4MXAcMb3J1TxON8dz0lelClKgRgpJShWj6b8=",
"homepage": "https://registry.terraform.io/providers/selectel/selectel",
"owner": "selectel",
"repo": "terraform-provider-selectel",
"rev": "v8.2.4",
"rev": "v8.3.1",
"spdx": "MPL-2.0",
"vendorHash": "sha256-qDQXedSS41lpV1o+lfCYHs81m3AcqHhku6xlul7725E="
"vendorHash": "sha256-pYvj5toBm4XT5TTSECZiyd5tcPbTp+EREYaxyV0mLAM="
},
"siderolabs_talos": {
"hash": "sha256-/NACmEpodBNx+Q2M9y3JnKpw9a3Y1eFDdTQ+48MXAc8=",

View File

@@ -1,78 +1,78 @@
{
"linux-canary": {
"distro": {
"hash": "sha256-4nUnQx19P9O1lRgpeGR8EBRtllpLTDIF2Ve0yST7qQE=",
"url": "https://canary.dl2.discordapp.net/distro/app/canary/linux/x64/1.0.1646/full.distro"
"hash": "sha256-FUuG8LKZwvszmdrKjnEKu+iQT0Ly08aLFO91FGzdGO8=",
"url": "https://canary.dl2.discordapp.net/distro/app/canary/linux/x64/1.0.1656/full.distro"
},
"kind": "distro",
"modules": {
"discord_arborium": {
"hash": "sha256-J7av4dx1OMSeop00Eqe05BIfw3ZcCS6UUn3ZWosRMUE=",
"url": "https://canary.dl2.discordapp.net/distro/app/canary/linux/x64/1.0.1646/discord_arborium/1/full.distro",
"hash": "sha256-D+NJvpdGsE2IiPB4vl+CDHLNmga8zrHSu1Q9skD2E80=",
"url": "https://canary.dl2.discordapp.net/distro/app/canary/linux/x64/1.0.1656/discord_arborium/1/full.distro",
"version": 1
},
"discord_cloudsync": {
"hash": "sha256-z/84+k8byRDLPkuoV0LERMyyZzBDv79+H7VM9BrtpGw=",
"url": "https://canary.dl2.discordapp.net/distro/app/canary/linux/x64/1.0.1646/discord_cloudsync/1/full.distro",
"version": 1
"hash": "sha256-BopR1WtIPEgfx6b5bhHSSKYtMOSIVxJr34GE6E7rATk=",
"url": "https://canary.dl2.discordapp.net/distro/app/canary/linux/x64/1.0.1656/discord_cloudsync/2/full.distro",
"version": 2
},
"discord_desktop_core": {
"hash": "sha256-PikHYaMHkNENx0p0A/q+qLJIiEq5+pVupL/yshtsNAI=",
"url": "https://canary.dl2.discordapp.net/distro/app/canary/linux/x64/1.0.1646/discord_desktop_core/1/full.distro",
"version": 1
"hash": "sha256-OWORDE77w5HBh7I5d7bnTjzdU8x7MxOCtzrWoQNX3Zs=",
"url": "https://canary.dl2.discordapp.net/distro/app/canary/linux/x64/1.0.1656/discord_desktop_core/2/full.distro",
"version": 2
},
"discord_dispatch": {
"hash": "sha256-+4ecTzNxBToBfzj20C83muMSX72e493geKkcHsGuw5A=",
"url": "https://canary.dl2.discordapp.net/distro/app/canary/linux/x64/1.0.1646/discord_dispatch/1/full.distro",
"version": 1
"hash": "sha256-SGsUToeQaZ/bQtHy8RMIxHg0dHz8Zhvu5sVckyXUQ18=",
"url": "https://canary.dl2.discordapp.net/distro/app/canary/linux/x64/1.0.1656/discord_dispatch/2/full.distro",
"version": 2
},
"discord_erlpack": {
"hash": "sha256-62ldpyV9LgV1gfO9TI/2atgWokwq4DrI5u0fFTbfGi4=",
"url": "https://canary.dl2.discordapp.net/distro/app/canary/linux/x64/1.0.1646/discord_erlpack/1/full.distro",
"hash": "sha256-P40ZPbTL4FfeoWKjjwAuh+ysQRgtYUBX/a3Oj/2BX1U=",
"url": "https://canary.dl2.discordapp.net/distro/app/canary/linux/x64/1.0.1656/discord_erlpack/1/full.distro",
"version": 1
},
"discord_game_utils": {
"hash": "sha256-xDZsOkb93ugR9JfF+EptWKnVRznUfTQ54j7PHipeOoQ=",
"url": "https://canary.dl2.discordapp.net/distro/app/canary/linux/x64/1.0.1646/discord_game_utils/1/full.distro",
"version": 1
"hash": "sha256-sHzwAS6iQ7XiRw9RzIsOzgHyK/D0gMwmlwez29EGGMA=",
"url": "https://canary.dl2.discordapp.net/distro/app/canary/linux/x64/1.0.1656/discord_game_utils/2/full.distro",
"version": 2
},
"discord_krisp": {
"hash": "sha256-DlfgIscLn9Ya38D9xaI3p2yNBDu45xReqdGqjXkQGdI=",
"url": "https://canary.dl2.discordapp.net/distro/app/canary/linux/x64/1.0.1646/discord_krisp/1/full.distro",
"version": 1
"hash": "sha256-JY+82GDMUzdL7yQ+55F1r2+kU86wHnfW1HSRGA+gs44=",
"url": "https://canary.dl2.discordapp.net/distro/app/canary/linux/x64/1.0.1656/discord_krisp/2/full.distro",
"version": 2
},
"discord_modules": {
"hash": "sha256-f7ahh310bYRUlJltj9l72CtTSZB5qjj5T2toYM8P50M=",
"url": "https://canary.dl2.discordapp.net/distro/app/canary/linux/x64/1.0.1646/discord_modules/1/full.distro",
"version": 1
"hash": "sha256-NodXtAgXZZl3EOO4Rak1gCYpkxmJbJ9P4HHS3W/AW5A=",
"url": "https://canary.dl2.discordapp.net/distro/app/canary/linux/x64/1.0.1656/discord_modules/2/full.distro",
"version": 2
},
"discord_rpc": {
"hash": "sha256-WcvN38d9hPzlEO65q2OYKVyqc5xIYF69wxiekjWFLLQ=",
"url": "https://canary.dl2.discordapp.net/distro/app/canary/linux/x64/1.0.1646/discord_rpc/1/full.distro",
"version": 1
"hash": "sha256-USuVJtYZG+V3mZahEmcn0r+Pc45xCYqBk8gxKZB+4ZY=",
"url": "https://canary.dl2.discordapp.net/distro/app/canary/linux/x64/1.0.1656/discord_rpc/2/full.distro",
"version": 2
},
"discord_spellcheck": {
"hash": "sha256-TDVRsaybdgsTogUvbGzdesQnbxTr4VqdY/+4iXrpVic=",
"url": "https://canary.dl2.discordapp.net/distro/app/canary/linux/x64/1.0.1646/discord_spellcheck/1/full.distro",
"hash": "sha256-BL7UkZR2O5562UUmkadrxOVifL2d/vqRqzaW9k+lUks=",
"url": "https://canary.dl2.discordapp.net/distro/app/canary/linux/x64/1.0.1656/discord_spellcheck/1/full.distro",
"version": 1
},
"discord_utils": {
"hash": "sha256-tazljX9G9wcnHNTejDKgEcr1QNksLF5nmAu/F0dafp4=",
"url": "https://canary.dl2.discordapp.net/distro/app/canary/linux/x64/1.0.1646/discord_utils/1/full.distro",
"version": 1
"hash": "sha256-IS7WwTqJwx/+OYgO2ZP3TxsVTXscLQOn5bEWLOBGOzY=",
"url": "https://canary.dl2.discordapp.net/distro/app/canary/linux/x64/1.0.1656/discord_utils/2/full.distro",
"version": 2
},
"discord_voice": {
"hash": "sha256-XPxQzRmB+G8gxNedcwBJ2zq+sn7AEjboxxwcONj0hV0=",
"url": "https://canary.dl2.discordapp.net/distro/app/canary/linux/x64/1.0.1646/discord_voice/1/full.distro",
"version": 1
"hash": "sha256-g2oiDEFwq0qbbeVlMM0xHKAGFjVTwSl4reDaDQGcZUU=",
"url": "https://canary.dl2.discordapp.net/distro/app/canary/linux/x64/1.0.1656/discord_voice/2/full.distro",
"version": 2
},
"discord_zstd": {
"hash": "sha256-DchoZ8gBq3OT/XkersDVWrrx36VjLmcgh4T7nRKXbj8=",
"url": "https://canary.dl2.discordapp.net/distro/app/canary/linux/x64/1.0.1646/discord_zstd/1/full.distro",
"version": 1
"hash": "sha256-hqysSEE+kDmW2VWt6PyVUW4lUMZfu6OH2KtmchMil8E=",
"url": "https://canary.dl2.discordapp.net/distro/app/canary/linux/x64/1.0.1656/discord_zstd/2/full.distro",
"version": 2
}
},
"version": "1.0.1646"
"version": "1.0.1656"
},
"linux-development": {
"distro": {
@@ -227,73 +227,73 @@
"linux-stable": {
"distro": {
"hash": "sha256-AzcQ2f6fsLAOvamgJMxMVJbhVh3JSkHeeLRsCwNqsnw=",
"url": "https://dl.discordapp.net/distro/app/stable/linux/x64/1.0.153/full.distro"
"url": "https://stable.dl2.discordapp.net/distro/app/stable/linux/x64/1.0.153/full.distro"
},
"kind": "distro",
"modules": {
"discord_arborium": {
"hash": "sha256-wOodeJufXbDUDSsSyrG8+OJ/OxBPFfg3r7utbI7slms=",
"url": "https://dl.discordapp.net/distro/app/stable/linux/x64/1.0.153/discord_arborium/1/full.distro",
"url": "https://stable.dl2.discordapp.net/distro/app/stable/linux/x64/1.0.153/discord_arborium/1/full.distro",
"version": 1
},
"discord_cloudsync": {
"hash": "sha256-Z9AHOO66v3eo/l9dMNE6FPduXwk7itn/ux+IBHKyUNw=",
"url": "https://dl.discordapp.net/distro/app/stable/linux/x64/1.0.153/discord_cloudsync/1/full.distro",
"url": "https://stable.dl2.discordapp.net/distro/app/stable/linux/x64/1.0.153/discord_cloudsync/1/full.distro",
"version": 1
},
"discord_desktop_core": {
"hash": "sha256-Zis/QM7anwCebhJVXeO+kYQ+82JVxE/l/9DSFvbE0M8=",
"url": "https://dl.discordapp.net/distro/app/stable/linux/x64/1.0.153/discord_desktop_core/1/full.distro",
"url": "https://stable.dl2.discordapp.net/distro/app/stable/linux/x64/1.0.153/discord_desktop_core/1/full.distro",
"version": 1
},
"discord_dispatch": {
"hash": "sha256-rpF8mVEsRC9sR+OiihCV9EhJF1c0JwuEFlKxaeREhYY=",
"url": "https://dl.discordapp.net/distro/app/stable/linux/x64/1.0.153/discord_dispatch/1/full.distro",
"url": "https://stable.dl2.discordapp.net/distro/app/stable/linux/x64/1.0.153/discord_dispatch/1/full.distro",
"version": 1
},
"discord_erlpack": {
"hash": "sha256-MMcPGHruTeb/Fu9syNn5/XTxUR0JTNqAesGTLbAi20s=",
"url": "https://dl.discordapp.net/distro/app/stable/linux/x64/1.0.153/discord_erlpack/1/full.distro",
"url": "https://stable.dl2.discordapp.net/distro/app/stable/linux/x64/1.0.153/discord_erlpack/1/full.distro",
"version": 1
},
"discord_game_utils": {
"hash": "sha256-UkZ7f/Ckc2oDKSI1tdZU/2YBukkVV1eugtOCQ5ShVgk=",
"url": "https://dl.discordapp.net/distro/app/stable/linux/x64/1.0.153/discord_game_utils/1/full.distro",
"url": "https://stable.dl2.discordapp.net/distro/app/stable/linux/x64/1.0.153/discord_game_utils/1/full.distro",
"version": 1
},
"discord_krisp": {
"hash": "sha256-rFGeGhR5d7Y7Jo1R3netJNz0aAkHd8uBfRtbcK3mZFg=",
"url": "https://dl.discordapp.net/distro/app/stable/linux/x64/1.0.153/discord_krisp/1/full.distro",
"url": "https://stable.dl2.discordapp.net/distro/app/stable/linux/x64/1.0.153/discord_krisp/1/full.distro",
"version": 1
},
"discord_modules": {
"hash": "sha256-9/KdLuTux8f5mWoQBSpqNkcU/PvodaMVmAuGRkHW72c=",
"url": "https://dl.discordapp.net/distro/app/stable/linux/x64/1.0.153/discord_modules/1/full.distro",
"url": "https://stable.dl2.discordapp.net/distro/app/stable/linux/x64/1.0.153/discord_modules/1/full.distro",
"version": 1
},
"discord_rpc": {
"hash": "sha256-8AgyHPFu3ixeCi71M1W4hjcZHvacWZK2vPNhqRMFqZs=",
"url": "https://dl.discordapp.net/distro/app/stable/linux/x64/1.0.153/discord_rpc/1/full.distro",
"url": "https://stable.dl2.discordapp.net/distro/app/stable/linux/x64/1.0.153/discord_rpc/1/full.distro",
"version": 1
},
"discord_spellcheck": {
"hash": "sha256-lZZitgtDkVaznkda2t7/5krxfOh3hF2R6ID9oHfaNos=",
"url": "https://dl.discordapp.net/distro/app/stable/linux/x64/1.0.153/discord_spellcheck/1/full.distro",
"url": "https://stable.dl2.discordapp.net/distro/app/stable/linux/x64/1.0.153/discord_spellcheck/1/full.distro",
"version": 1
},
"discord_utils": {
"hash": "sha256-bi74t/4DTAL4X8LIiRvx95UlvPy1b1ORgVo49S5iGrA=",
"url": "https://dl.discordapp.net/distro/app/stable/linux/x64/1.0.153/discord_utils/1/full.distro",
"url": "https://stable.dl2.discordapp.net/distro/app/stable/linux/x64/1.0.153/discord_utils/1/full.distro",
"version": 1
},
"discord_voice": {
"hash": "sha256-o8dEAGCZbwy7MNGX3XlEb1/2cfSwW6t9NUS5S4ePd5o=",
"url": "https://dl.discordapp.net/distro/app/stable/linux/x64/1.0.153/discord_voice/1/full.distro",
"url": "https://stable.dl2.discordapp.net/distro/app/stable/linux/x64/1.0.153/discord_voice/1/full.distro",
"version": 1
},
"discord_zstd": {
"hash": "sha256-wPVbgwlzi7qvim3+VeXvk1oXBYVniNi7tilH1R3/Xm4=",
"url": "https://dl.discordapp.net/distro/app/stable/linux/x64/1.0.153/discord_zstd/1/full.distro",
"url": "https://stable.dl2.discordapp.net/distro/app/stable/linux/x64/1.0.153/discord_zstd/1/full.distro",
"version": 1
}
},
@@ -317,9 +317,9 @@
"version": 1
},
"discord_desktop_core": {
"hash": "sha256-Tcb6S/HtSvoNLfAK0GVnKBqp+2upf0UxuStxaIXVK3o=",
"url": "https://canary.dl2.discordapp.net/distro/app/canary/osx/universal/0.0.1263/discord_desktop_core/1/full.distro",
"version": 1
"hash": "sha256-bxAGSMxQr9Bp5/N8VVMIg3ro7Z/lHtlEmaIm56qgg+k=",
"url": "https://canary.dl2.discordapp.net/distro/app/canary/osx/universal/0.0.1263/discord_desktop_core/2/full.distro",
"version": 2
},
"discord_dispatch": {
"hash": "sha256-2DKqLoaZtxY5LhYOPPejnsVq43mv5spxuMXAhCiq/NM=",
@@ -367,14 +367,14 @@
"version": 1
},
"discord_utils": {
"hash": "sha256-ZDv3ejnvfCzRlhJm7CEWhm5MX+C/lA+ETKXT+97lCz4=",
"url": "https://canary.dl2.discordapp.net/distro/app/canary/osx/universal/0.0.1263/discord_utils/1/full.distro",
"version": 1
"hash": "sha256-zbCFs+lEaT4s4cBw+UeOaxtWM9cIf4Sh/YnFX1DdUkA=",
"url": "https://canary.dl2.discordapp.net/distro/app/canary/osx/universal/0.0.1263/discord_utils/9/full.distro",
"version": 9
},
"discord_voice": {
"hash": "sha256-WVv+Bdbuodno6Q3+p6JBWe0FlgtOxLYkUm8YrJI5Ows=",
"url": "https://canary.dl2.discordapp.net/distro/app/canary/osx/universal/0.0.1263/discord_voice/2/full.distro",
"version": 2
"hash": "sha256-Ud+AaFDH01n1ArYaMSyvx7JKv/CFqXahe5+49rPi3Rk=",
"url": "https://canary.dl2.discordapp.net/distro/app/canary/osx/universal/0.0.1263/discord_voice/4/full.distro",
"version": 4
},
"discord_webauthn": {
"hash": "sha256-4iSifUx00540kHxVmTRUELc7CTdeQlrzumL6PoZ5UYc=",

View File

@@ -1,28 +1,28 @@
{
"stable": {
"linux": {
"version": "8.12.30",
"version": "8.12.32",
"sources": {
"x86_64": {
"url": "https://downloads.1password.com/linux/tar/stable/x86_64/1password-8.12.30.x64.tar.gz",
"hash": "sha256-jZuPdQo5KPvbYqN5YXFq3lAEqJccWhi6ROFOSvjiWuU="
"url": "https://downloads.1password.com/linux/tar/stable/x86_64/1password-8.12.32.x64.tar.gz",
"hash": "sha256-dg42SQNMS77+393sDP66weZ33VVIKjOQEZwaK82ifZc="
},
"aarch64": {
"url": "https://downloads.1password.com/linux/tar/stable/aarch64/1password-8.12.30.arm64.tar.gz",
"hash": "sha256-s4wmVQ7JXV0cakDhueawkQWTjicxOVzdrHQll6zNwvI="
"url": "https://downloads.1password.com/linux/tar/stable/aarch64/1password-8.12.32.arm64.tar.gz",
"hash": "sha256-pjSX6FWMZh1PN/lNMEbPQ2+hZs47tiNC0ptHJGZL3rQ="
}
}
},
"darwin": {
"version": "8.12.30",
"version": "8.12.33",
"sources": {
"x86_64": {
"url": "https://downloads.1password.com/mac/1Password-8.12.30-x86_64.zip",
"hash": "sha256-LuRoGXVGG5r6Bpg9PC39zICVc4pEgvAh7yY/nlQgnVI="
"url": "https://downloads.1password.com/mac/1Password-8.12.33-x86_64.zip",
"hash": "sha256-jIvE1S4oP5/nVnmxQyrzW14kwnAI5zB9eKjms29XikI="
},
"aarch64": {
"url": "https://downloads.1password.com/mac/1Password-8.12.30-aarch64.zip",
"hash": "sha256-7qX2UjUaEfJA2Cn8RwcjEkDX6RR4S487B8zYYUKp+mw="
"url": "https://downloads.1password.com/mac/1Password-8.12.33-aarch64.zip",
"hash": "sha256-CT+3Sn9AyyxHyTRXhajCwsO9n9eqxou3kD1RJ2RZUpk="
}
}
}

View File

@@ -35,8 +35,7 @@ stdenv.mkDerivation (finalAttrs: {
};
cargoDeps = rustPlatform.fetchCargoVendor {
inherit (finalAttrs) src;
name = "amberol-${finalAttrs.version}";
inherit (finalAttrs) pname version src;
hash = "sha256-OFZd9nKRqXJMHSIIP8tlSNtFAQzk/f/6SBeEvbdPVK0=";
};

View File

@@ -15,11 +15,11 @@
}:
stdenvNoCC.mkDerivation (finalAttrs: {
pname = "angular-language-server";
version = "22.0.1";
version = "22.1.0";
src = fetchurl {
name = "angular-language-server-${finalAttrs.version}.zip";
url = "https://github.com/angular/angular/releases/download/vsix-${finalAttrs.version}/ng-template-${finalAttrs.version}.vsix";
hash = "sha256-IaaqFb0YLJcVqoV5QT9fZmYd5GbfQCUlK68SF76Y/dY=";
hash = "sha256-/PftUvaE9EjsKRc0TnF0lftOgp5fzKmR+KGhocXEMrk=";
};
nativeBuildInputs = [

View File

@@ -31,7 +31,7 @@ rustPlatform.buildRustPackage (finalAttrs: {
cargoRoot = "./.";
cargoDeps = rustPlatform.fetchCargoVendor {
inherit (finalAttrs) src;
inherit (finalAttrs) pname version src;
hash = "sha256-68yQkgIVpqUo5tOcvxKh6NOkW565V94zHIZeI4q7nNA=";
};

View File

@@ -66,6 +66,7 @@ rustPlatform.buildRustPackage (finalAttrs: {
The Nix derivation does not compile the proprietary features.
'';
homepage = "https://bencher.dev";
changelog = "https://github.com/bencherdev/bencher/releases/tag/v${finalAttrs.version}";
license =
if finalAttrs.buildNoDefaultFeatures then
lib.licenses.OR [

View File

@@ -7,17 +7,18 @@
nix-update-script,
versionCheckHook,
writableTmpDirAsHomeHook,
coreutils,
}:
buildGoModule (finalAttrs: {
pname = "bootdev-cli";
version = "1.29.6";
version = "1.31.1";
src = fetchFromGitHub {
owner = "bootdotdev";
repo = "bootdev";
tag = "v${finalAttrs.version}";
hash = "sha256-uoFnhcJvvY+lb8VLv0kPI8hp4H8XfQOY5R83Rj17gfw=";
hash = "sha256-0koZYMQxCHPtB44OYhiD9+nYAyHWXbyQd2xhdqnOqEw=";
};
vendorHash = "sha256-ZDioEU5uPCkd+kC83cLlpgzyOsnpj2S7N+lQgsQb8uY=";
@@ -32,6 +33,14 @@ buildGoModule (finalAttrs: {
writableTmpDirAsHomeHook
];
# TestGetLatestVersionHasOverallTimeout writes a fake go helper that runs
# /bin/sleep; that path is missing in the Nix sandbox, and the test also
# resets PATH so a bare "sleep" would not help. Point at store sleep.
postPatch = ''
substituteInPlace version/version_test.go \
--replace-fail 'exec /bin/sleep 5' 'exec ${lib.getExe' coreutils "sleep"} 5'
'';
postInstall = lib.optionalString (stdenv.buildPlatform.canExecute stdenv.hostPlatform) ''
for shell in bash fish zsh; do
installShellCompletion --cmd bootdev --"$shell" <($out/bin/bootdev completion "$shell")
@@ -42,6 +51,9 @@ buildGoModule (finalAttrs: {
versionCheckProgram = "${placeholder "out"}/bin/bootdev";
doInstallCheck = true;
# checks tests use httptest.NewServer (bind localhost)
__darwinAllowLocalNetworking = true;
passthru.updateScript = nix-update-script { };
meta = {

View File

@@ -23,13 +23,13 @@
}:
stdenv.mkDerivation (finalAttrs: {
pname = "buildbox";
version = "1.4.15";
version = "1.4.17";
src = fetchFromGitLab {
owner = "BuildGrid";
repo = "buildbox/buildbox";
tag = finalAttrs.version;
hash = "sha256-V/dKo/ynKL37NNCY36D5NvepeIbE470qg3qPKH1jLoY=";
hash = "sha256-AnvwnBcc6LlJ9TlepLFNhvyinK0NYwjBPFQLqUZSdCk=";
};
nativeBuildInputs = [

View File

@@ -0,0 +1,98 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Gaetan Lepage <gaetan.lepage00@gmail.com>
Date: Sun, 9 Aug 2026 21:46:14 +0000
Subject: [PATCH] s3select: use std::span in the vendored parquet encryption
headers
arrow-cpp 24 dropped the `arrow/util/span.h` header and switched the
parquet encryption API from `arrow::util::span` to `std::span`.
The vendored copies of the parquet encryption headers that s3select
carries for arrow >= 20 still target the old API, so building against
arrow-cpp 24 fails. Include `<span>` and use `std::span` instead.
---
src/s3select/include/encryption_internal_20.h | 28 +++++++++----------
.../include/internal_file_decryptor_20.h | 5 ++--
2 files changed, 17 insertions(+), 16 deletions(-)
diff --git a/src/s3select/include/encryption_internal_20.h b/src/s3select/include/encryption_internal_20.h
index 062527495..005ed332f 100644
--- a/src/s3select/include/encryption_internal_20.h
+++ b/src/s3select/include/encryption_internal_20.h
@@ -18,10 +18,10 @@
#pragma once
#include <memory>
+#include <span>
#include <string>
#include <vector>
-#include "arrow/util/span.h"
#include "parquet/properties.h"
#include "parquet/types.h"
@@ -62,17 +62,17 @@ class PARQUET_EXPORT AesEncryptor {
/// Encrypts plaintext with the key and aad. Key length is passed only for validation.
/// If different from value in constructor, exception will be thrown.
- int32_t Encrypt(::arrow::util::span<const uint8_t> plaintext,
- ::arrow::util::span<const uint8_t> key,
- ::arrow::util::span<const uint8_t> aad,
- ::arrow::util::span<uint8_t> ciphertext);
+ int32_t Encrypt(std::span<const uint8_t> plaintext,
+ std::span<const uint8_t> key,
+ std::span<const uint8_t> aad,
+ std::span<uint8_t> ciphertext);
/// Encrypts plaintext footer, in order to compute footer signature (tag).
- int32_t SignedFooterEncrypt(::arrow::util::span<const uint8_t> footer,
- ::arrow::util::span<const uint8_t> key,
- ::arrow::util::span<const uint8_t> aad,
- ::arrow::util::span<const uint8_t> nonce,
- ::arrow::util::span<uint8_t> encrypted_footer);
+ int32_t SignedFooterEncrypt(std::span<const uint8_t> footer,
+ std::span<const uint8_t> key,
+ std::span<const uint8_t> aad,
+ std::span<const uint8_t> nonce,
+ std::span<uint8_t> encrypted_footer);
private:
// PIMPL Idiom
@@ -107,10 +107,10 @@ class PARQUET_EXPORT AesDecryptor {
/// validation. If different from value in constructor, exception will be thrown.
/// The caller is responsible for ensuring that the plaintext buffer is at least as
/// large as PlaintextLength(ciphertext_len).
- int32_t Decrypt(::arrow::util::span<const uint8_t> ciphertext,
- ::arrow::util::span<const uint8_t> key,
- ::arrow::util::span<const uint8_t> aad,
- ::arrow::util::span<uint8_t> plaintext);
+ int32_t Decrypt(std::span<const uint8_t> ciphertext,
+ std::span<const uint8_t> key,
+ std::span<const uint8_t> aad,
+ std::span<uint8_t> plaintext);
private:
// PIMPL Idiom
diff --git a/src/s3select/include/internal_file_decryptor_20.h b/src/s3select/include/internal_file_decryptor_20.h
index cc0e315e0..2573cb99b 100644
--- a/src/s3select/include/internal_file_decryptor_20.h
+++ b/src/s3select/include/internal_file_decryptor_20.h
@@ -19,6 +19,7 @@
#include <memory>
#include <mutex>
+#include <span>
#include <string>
#include <vector>
@@ -50,8 +51,8 @@ class PARQUET_EXPORT Decryptor {
[[nodiscard]] int32_t PlaintextLength(int32_t ciphertext_len) const;
[[nodiscard]] int32_t CiphertextLength(int32_t plaintext_len) const;
- int32_t Decrypt(::arrow::util::span<const uint8_t> ciphertext,
- ::arrow::util::span<uint8_t> plaintext);
+ int32_t Decrypt(std::span<const uint8_t> ciphertext,
+ std::span<uint8_t> plaintext);
private:
std::unique_ptr<encryption::AesDecryptor> aes_decryptor_;

View File

@@ -4,15 +4,25 @@
ceph-src,
}:
ceph-python.pkgs.buildPythonPackage {
pname = "ceph-common";
ceph-python.pkgs.buildPythonPackage (finalAttrs: {
pname = "ceph";
inherit (ceph-src) version;
src = ceph-src;
pyproject = true;
__structuredAttrs = true;
sourceRoot = "${ceph-src.name}/src/python-common";
postPatch =
# upstream hardcodes a placeholder version which does not track the Ceph release
''
substituteInPlace setup.py \
--replace-fail \
"version='1.0.0'" \
"version='${finalAttrs.version}'"
'';
build-system = with ceph-python.pkgs; [
setuptools
];
@@ -21,6 +31,8 @@ ceph-python.pkgs.buildPythonPackage {
pyyaml
];
pythonImportsCheck = [ "ceph" ];
nativeCheckInputs = with ceph-python.pkgs; [
pytestCheckHook
];
@@ -31,4 +43,4 @@ ceph-python.pkgs.buildPythonPackage {
];
meta = ceph-meta "Ceph common module for code shared by manager modules";
}
})

View File

@@ -23,6 +23,11 @@ applyPatches (final: {
stripLen = 1;
hash = "sha256-0jn5X4jIdluCufFXWHeO6skMz6XQpliHkC1tPLK6dbk=";
})
# arrow-cpp 24 dropped the `arrow/util/span.h` header and switched its
# parquet encryption API from `arrow::util::span` to `std::span`.
# Must be applied on top of the s3select patch above, which introduces the
# vendored headers this touches.
./patches/0002-s3select-std-span.patch
# fixes issues when python3 is not on the PATH
# See: https://github.com/ceph/ceph/pull/67904
./patches/0001-mgr-python-interpreter.patch

View File

@@ -26,7 +26,7 @@ stdenv.mkDerivation (finalAttrs: {
};
cargoDeps = rustPlatform.fetchCargoVendor {
inherit (finalAttrs) src;
inherit (finalAttrs) pname version src;
hash = "sha256-ObT3l/Exk6UzUGmzCed7mJ7hVzg8CsQIT3fe1RIUfIM=";
};

View File

@@ -34,7 +34,7 @@ stdenv.mkDerivation (finalAttrs: {
};
cargoDeps = rustPlatform.fetchCargoVendor {
inherit (finalAttrs) src;
inherit (finalAttrs) pname version src;
hash = "sha256-iNGYFyAF3Qo6x2VaBsyrLTSYPn6OZ6TWfXDTXqbovhE=";
};

View File

@@ -16,13 +16,13 @@
buildGoModule (finalAttrs: {
pname = "cliamp";
version = "1.62.0";
version = "1.63.1";
src = fetchFromGitHub {
owner = "bjarneo";
repo = "cliamp";
tag = "v${finalAttrs.version}";
hash = "sha256-gGTSU4J3U9aojcfK9lE2qNDtye9N8WfJi0pIVk0ndJQ=";
hash = "sha256-FnuopBWRXDwKrDbHbX1qtMxP3Lm3C5Wi2ECP2TRHW/o=";
};
vendorHash = "sha256-KYjP6qEINdSlcDSEMKxMwDfXzuQPAQSe4oZh+o4PrFs=";

View File

@@ -6,17 +6,17 @@
}:
buildGoModule {
pname = "conjure-tor";
version = "0-unstable-2024-11-11";
version = "0-unstable-2026-01-13";
src = fetchFromGitLab {
domain = "gitlab.torproject.org";
owner = "tpo";
repo = "anti-censorship/pluggable-transports/conjure";
rev = "a773daab19928f37caf2ec4181f0da2e0d20d35a";
hash = "sha256-WC9QEgwhu7ynf2p8SXzMf8JNp6ZzF4S9Lk2SjUWj2lU=";
rev = "0090962226b82aa4a8fc38506f9b98de67d0781e";
hash = "sha256-WGyzoc03QqPtLiZrUMCRMlPNm6JVSOnZv2a8KeZt7P4=";
};
vendorHash = "sha256-vdcpNYa2gjacK0DMQ6VP9kX6f10JOHn8+Wr1Ql+lI7o=";
vendorHash = "sha256-6m/qNRrbWMREdDK/VpDAILynplyzbicdplxDrcTipSc=";
passthru.updateScript = nix-update-script { };

View File

@@ -9,13 +9,13 @@
}:
rustPlatform.buildRustPackage {
pname = "cosmic-ext-applet-sysinfo";
version = "0-unstable-2026-08-02";
version = "0-unstable-2026-08-10";
src = fetchFromGitHub {
owner = "cosmic-utils";
repo = "cosmic-ext-applet-sysinfo";
rev = "950713d02883f8ea2c0d980e9220c88409087255";
hash = "sha256-ePGpJBRF+0kk9HxsajEYaWlQ1CzN/cLCIYziR7e7wwM=";
rev = "bf9d7473c6ebff0d0062837021640d55eb0b4154";
hash = "sha256-UZGILff2NqT9UtxVyDgCftuk+GkCEPHBO6tWZjzoxGU=";
};
cargoHash = "sha256-txUuPLwts10Qn8c9Ix48NaOe7/3k8cd27rwYbgGcRfE=";

View File

@@ -25,8 +25,7 @@ stdenv.mkDerivation (finalAttrs: {
};
cargoDeps = rustPlatform.fetchCargoVendor {
inherit (finalAttrs) src;
name = "${finalAttrs.pname}-${finalAttrs.version}";
inherit (finalAttrs) pname version src;
sourceRoot = "${finalAttrs.src.name}/bindings";
hash = "sha256-+1z0VoxDeOYSmb7BoFSdrwrfo1mmwkxeuEGP+CGFc8Y=";
};

View File

@@ -0,0 +1,44 @@
{
lib,
fetchFromGitLab,
stdenvNoCC,
nix-update-script,
jetring,
gnupg,
}:
stdenvNoCC.mkDerivation (finalAttrs: {
pname = "debian-archive-keyring";
version = "2025.1";
__structuredAttrs = true;
strictDeps = true;
src = fetchFromGitLab {
domain = "salsa.debian.org";
owner = "release-team";
repo = "debian-archive-keyring";
tag = finalAttrs.version;
hash = "sha256-NaVbca1mx0j4hfSncX8hh8PbtB92yGeZUUdp4Nx9JoY=";
};
nativeBuildInputs = [
jetring
gnupg
];
makeFlags = [ "DESTDIR=$(out)" ];
postInstall = ''
mv $out/usr/share $out/share
rm -d $out/usr
'';
passthru.updateScript = nix-update-script { };
meta = {
description = "GnuPG archive keys of the Debian archive";
homepage = "https://salsa.debian.org/release-team/debian-archive-keyring";
license = lib.licenses.publicDomain;
platforms = lib.platforms.all;
maintainers = [ lib.maintainers.skyesoss ];
};
})

View File

@@ -49,7 +49,7 @@ stdenv.mkDerivation (finalAttrs: {
};
cargoDeps = rustPlatform.fetchCargoVendor {
inherit (finalAttrs) src;
inherit (finalAttrs) pname version src;
hash = "sha256-G7K3aeSBnKcJHOlQQIHd3Kzoe/ienFVycTWOKOSRhZc=";
};

View File

@@ -12,13 +12,13 @@
inherit hamlibSupport gpsdSupport extraScripts;
}).overrideAttrs
(oldAttrs: {
version = "1.8.1-unstable-2026-07-19";
version = "1.8.1-unstable-2026-08-10";
src = fetchFromGitHub {
owner = "wb2osz";
repo = "direwolf";
rev = "e8ab49a5e4d3edd49cfa9b7b9d65334693d2da5d";
hash = "sha256-+HYcfdMTDAzm5quT67YhsH4TuUcsHSRBPiucCk+qgDw=";
rev = "a821a0e4ffc2eb3ce94aafe1a9131aac7053042f";
hash = "sha256-aFrKFErFVXoXX5bqNQj1rkwlaS67rIPGa7MNf8Wtal4=";
};
dontVersionCheck = true;

View File

@@ -31,6 +31,7 @@ rustPlatform.buildRustPackage (finalAttrs: {
description = "Command line tool to investigate the Domain Name System";
mainProgram = "dnsi";
homepage = "https://nlnetlabs.nl/projects/domain/dnsi/";
changelog = "https://github.com/NLnetLabs/dnsi/blob/v${finalAttrs.version}/Changelog.md";
license = lib.licenses.bsd3;
maintainers = [ lib.maintainers.skyesoss ];
};

View File

@@ -47,6 +47,7 @@ rustPlatform.buildRustPackage (finalAttrs: {
description = "Toolset to assist DNS operators with zone and nameserver maintenance";
mainProgram = "dnst";
homepage = "https://nlnetlabs.nl/projects/domain/dnst/";
changelog = "https://github.com/NLnetLabs/dnst/blob/v${finalAttrs.version}/Changelog.md";
license = lib.licenses.bsd3;
maintainers = [ lib.maintainers.skyesoss ];
};

View File

@@ -7,18 +7,18 @@
buildGoModule (finalAttrs: {
pname = "dolt";
version = "2.2.3";
version = "2.2.4";
src = fetchFromGitHub {
owner = "dolthub";
repo = "dolt";
tag = "v${finalAttrs.version}";
hash = "sha256-KCefzDqFMXpqtPPVOyD41hdM9j7p1kftO1cNaGzDT0w=";
hash = "sha256-XAc584mxGsadxmY1Jf4JgaaBAUg9hXainGkaWIgdp5A=";
};
modRoot = "./go";
subPackages = [ "cmd/dolt" ];
vendorHash = "sha256-CEqdHw9cFLcoewQyd4Y1yXdkSAdaQ/cRyVTxa5qCyMM=";
vendorHash = "sha256-k5fpdI1wtZQYpjJEyre3Kh57AC0i3PsU2SIsf8ga1c8=";
proxyVendor = true;
doCheck = false;

View File

@@ -1,126 +0,0 @@
diff --git a/modules.d/35network-legacy/dhclient-script.sh b/modules.d/35network-legacy/dhclient-script.sh
index 0cb00ab..ae68952 100755
--- a/modules.d/35network-legacy/dhclient-script.sh
+++ b/modules.d/35network-legacy/dhclient-script.sh
@@ -20,11 +20,11 @@ setup_interface() {
mask=$new_subnet_mask
bcast=$new_broadcast_address
gw=${new_routers%%,*}
- domain=$new_domain_name
+ domain=$(printf -- "%s" "$new_domain_name" | tr -d '[:cntrl:]')
# get rid of control chars
search=$(printf -- "%s" "$new_domain_search" | tr -d '[:cntrl:]')
namesrv=$new_domain_name_servers
- hostname=$new_host_name
+ hostname=$(printf '%s' "$new_host_name" | tr -d -c 'a-zA-Z0-9.-')
[ -n "$new_dhcp_lease_time" ] && lease_time=$new_dhcp_lease_time
[ -n "$new_max_life" ] && lease_time=$new_max_life
preferred_lft=$lease_time
@@ -56,20 +56,32 @@ setup_interface() {
${preferred_lft:+preferred_lft ${preferred_lft}}
if [ -n "$gw" ]; then
- if [ "$mask" = "255.255.255.255" ]; then
- # point-to-point connection => set explicit route to gateway
- echo ip route add "$gw" dev "$netif" > /tmp/net."$netif".gw
- fi
+ gw_check=0
+ for g in $gw; do
+ case "$g" in
+ *[!0-9.]*)
+ gw_check=1
+ break
+ ;;
+ esac
+ done
- echo "$gw" | {
- IFS=' ' read -r main_gw other_gw
- echo ip route replace default via "$main_gw" dev "$netif" >> /tmp/net."$netif".gw
- if [ -n "$other_gw" ]; then
- for g in $other_gw; do
- echo ip route add default via "$g" dev "$netif" >> /tmp/net."$netif".gw
- done
- fi
- }
+ if [ $gw_check -eq 0 ]; then
+ if [ "$mask" = "255.255.255.255" ]; then
+ # point-to-point connection => set explicit route to gateway
+ echo ip route add "$gw" dev "$netif" > /tmp/net."$netif".gw
+ fi
+
+ echo "$gw" | {
+ IFS=' ' read -r main_gw other_gw
+ echo ip route replace default via "$main_gw" dev "$netif" >> /tmp/net."$netif".gw
+ if [ -n "$other_gw" ]; then
+ for g in $other_gw; do
+ echo ip route add default via "$g" dev "$netif" >> /tmp/net."$netif".gw
+ done
+ fi
+ }
+ fi
fi
if getargbool 1 rd.peerdns; then
@@ -82,15 +94,15 @@ setup_interface() {
fi
# Note: hostname can be fqdn OR short hostname, so chop off any
# trailing domain name and explicitly add any domain if set.
- [ -n "$hostname" ] && echo "echo ${hostname%."$domain"}${domain:+.$domain} > /proc/sys/kernel/hostname" > /tmp/net."$netif".hostname
+ [ -n "$hostname" ] && echo "echo '${hostname%."$domain"}${domain:+.$domain}' > /proc/sys/kernel/hostname" > /tmp/net."$netif".hostname
}
setup_interface6() {
- domain=$new_domain_name
+ domain=$(printf -- "%s" "$new_domain_name" | tr -d '[:cntrl:]')
# get rid of control chars
search=$(printf -- "%s" "$new_dhcp6_domain_search" | tr -d '[:cntrl:]')
namesrv=$new_dhcp6_name_servers
- hostname=$new_host_name
+ hostname=$(printf '%s' "$new_host_name" | tr -d -c 'a-zA-Z0-9.-')
[ -n "$new_dhcp_lease_time" ] && lease_time=$new_dhcp_lease_time
[ -n "$new_max_life" ] && lease_time=$new_max_life
preferred_lft=$lease_time
@@ -105,7 +117,7 @@ setup_interface6() {
# Note: hostname can be fqdn OR short hostname, so chop off any
# trailing domain name and explicitly add any domain if set.
- [ -n "$hostname" ] && echo "echo ${hostname%."$domain"}${domain:+.$domain} > /proc/sys/kernel/hostname" > /tmp/net."$netif".hostname
+ [ -n "$hostname" ] && echo "echo '${hostname%."$domain"}${domain:+.$domain}' > /proc/sys/kernel/hostname" > /tmp/net."$netif".hostname
}
parse_option_121() {
@@ -113,16 +125,18 @@ parse_option_121() {
# Each route is: <mask_width> <dest_octets...> <gateway_4_octets>
# mask_width determines how many destination octets follow (0-4)
#
- # This version validates arguments before operations to prevent
- # "integer expression expected" and "shift count out of range" errors.
+ # Validate all arguments are numeric upfront to prevent
+ # shell injection via crafted octets in destination/gateway.
+ for _octet in "$@"; do
+ case "$_octet" in
+ '' | *[!0-9]*) return 0 ;;
+ esac
+ done
while [ $# -ge 5 ]; do
mask="$1"
# Validate mask is a number between 0-32
- case "$mask" in
- '' | *[!0-9]*) return 0 ;;
- esac
if [ "$mask" -lt 0 ] 2> /dev/null || [ "$mask" -gt 32 ] 2> /dev/null; then
return 0
fi
@@ -150,9 +164,6 @@ parse_option_121() {
# Check if destination is multicast (224.0.0.0 - 239.255.255.255)
multicast=0
if [ $need_dest -ge 1 ]; then
- case "$1" in
- '' | *[!0-9]*) return 0 ;;
- esac
if [ "$1" -ge 224 ] 2> /dev/null && [ "$1" -lt 240 ] 2> /dev/null; then
multicast=1
fi

View File

@@ -2,6 +2,7 @@
stdenv,
lib,
fetchFromGitHub,
fetchpatch2,
gitUpdater,
makeBinaryWrapper,
pkg-config,
@@ -29,19 +30,22 @@
stdenv.mkDerivation (finalAttrs: {
pname = "dracut";
version = "111";
version = "112";
src = fetchFromGitHub {
owner = "dracut-ng";
repo = "dracut";
tag = finalAttrs.version;
hash = "sha256-2jdS7/LGuLSBBXv1R/o8yjgwdXl2l2wNbZWxq01wSb0";
hash = "sha256-aER+3EbJP3HCBuei+oLHzt/j90fpWj5NgyhMTx3V/YQ=";
};
# Patch from https://github.com/dracut-ng/dracut/commit/11577739221ff38c1fd29abbba51a6c797376ed6 included in main branch.
# Adapted to version 111 (line number and small formatting diff)
# Remove with the first release containing c4d555716d569038ca38365741e94ee07908f261.
patches = [
./CVE-2026-6893.patch
(fetchpatch2 {
name = "CVE-2026-15816.patch";
url = "https://github.com/dracut-ng/dracut/commit/c4d555716d569038ca38365741e94ee07908f261.patch?full_index=1";
hash = "sha256-UpeoiMyQgvwMNOjX39v0IQSIlwvM+MczyPKPRWmT6vQ=";
})
];
strictDeps = true;

View File

@@ -77,7 +77,7 @@ stdenv.mkDerivation (finalAttrs: {
};
cargoDeps = rustPlatform.fetchCargoVendor {
inherit (finalAttrs) src;
inherit (finalAttrs) pname version src;
hash = "sha256-u9fRbxKeQSou9Umw4EaqzzzDiN4zhyfx9sWnlZpfpxU=";
};

View File

@@ -46,7 +46,7 @@ stdenv.mkDerivation (finalAttrs: {
};
cargoDeps = rustPlatform.fetchCargoVendor {
inherit (finalAttrs) src;
inherit (finalAttrs) pname version src;
hash = "sha256-fsrczFhoIilxgZRH2PVXC67YdkMsIjA6zTfix57TTzo=";
};

View File

@@ -1,7 +1,7 @@
{
stdenv,
gnat13,
gnat13Packages,
gnat,
gnatPackages,
fetchFromGitHub,
lib,
}:
@@ -20,8 +20,8 @@ stdenv.mkDerivation (finalAttrs: {
configureFlags = [ "--enable-shared" ];
nativeBuildInputs = [
gnat13
gnat13Packages.gprbuild
gnat
gnatPackages.gprbuild
];
meta = {

View File

@@ -10,6 +10,7 @@
rustPlatform.buildRustPackage (finalAttrs: {
pname = "flux9s";
version = "1.0.1";
__structuredAttrs = true;
src = fetchFromGitHub {
owner = "dgunzy";
@@ -34,6 +35,7 @@ rustPlatform.buildRustPackage (finalAttrs: {
description = "K9s-inspired terminal UI for monitoring Flux GitOps resources in real-time";
mainProgram = "flux9s";
homepage = "https://flux9s.ca/";
changelog = "https://github.com/dgunzy/flux9s/releases/tag/v${finalAttrs.version}";
license = lib.licenses.asl20;
maintainers = [ lib.maintainers.skyesoss ];
};

View File

@@ -44,7 +44,7 @@ stdenv.mkDerivation (finalAttrs: {
};
cargoDeps = rustPlatform.fetchCargoVendor {
inherit (finalAttrs) src;
inherit (finalAttrs) pname version src;
hash = "sha256-y3osmwhrB9x2s9V8L9qI1qs2fv2ygynq+mS+cA/KIyA=";
};

View File

@@ -0,0 +1,46 @@
{
lib,
buildGoModule,
fetchFromGitHub,
versionCheckHook,
nix-update-script,
}:
buildGoModule (finalAttrs: {
pname = "free5gc-amf";
version = "1.4.3";
__structuredAttrs = true;
src = fetchFromGitHub {
owner = "free5gc";
repo = "amf";
tag = "v${finalAttrs.version}";
hash = "sha256-oH01ySslrVhreFIYcEGs3jBZy37wylwhtz8f4VjSlgk=";
};
vendorHash = "sha256-plUoCtHK8/cuYmPosV7ISIlqZGJZUJ4L0Fd0cWV+3zo=";
ldflags = [
"-X github.com/free5gc/util/version.VERSION=v${finalAttrs.version}"
];
postInstall = ''
mv -v $out/bin/cmd $out/bin/free5gc-amf
'';
doInstallCheck = true;
nativeInstallCheckInputs = [ versionCheckHook ];
versionCheckProgramArg = "irrelevant"; # has no version flag, empty string didn't work
passthru.updateScript = nix-update-script { };
meta = {
description = "Open source 5G core network based on 3GPP R15";
homepage = "https://free5gc.org/";
changelog = "https://github.com/free5gc/amf/releases/tag/${finalAttrs.src.tag}";
license = lib.licenses.asl20;
maintainers = with lib.maintainers; [ felbinger ];
platforms = lib.platforms.linux;
mainProgram = "free5gc-amf";
};
})

View File

@@ -0,0 +1,46 @@
{
lib,
buildGoModule,
fetchFromGitHub,
versionCheckHook,
nix-update-script,
}:
buildGoModule (finalAttrs: {
pname = "free5gc-ausf";
version = "1.4.3";
__structuredAttrs = true;
src = fetchFromGitHub {
owner = "free5gc";
repo = "ausf";
tag = "v${finalAttrs.version}";
hash = "sha256-S96QhcerwA2c/fW7J0C4HlcQVeSHrob4VCKOSd4iUpo=";
};
vendorHash = "sha256-8oATdtM8pA8KKgPHFCqsEM0Lo93ZBkoTqLRPfHywCOY=";
ldflags = [
"-X github.com/free5gc/util/version.VERSION=v${finalAttrs.version}"
];
postInstall = ''
mv -v $out/bin/cmd $out/bin/free5gc-ausf
'';
doInstallCheck = true;
nativeInstallCheckInputs = [ versionCheckHook ];
versionCheckProgramArg = "irrelevant"; # has no version flag, empty string didn't work
passthru.updateScript = nix-update-script { };
meta = {
description = "Open source 5G core network based on 3GPP R15";
homepage = "https://free5gc.org/";
changelog = "https://github.com/free5gc/ausf/releases/tag/${finalAttrs.src.tag}";
license = lib.licenses.asl20;
maintainers = with lib.maintainers; [ felbinger ];
platforms = lib.platforms.linux;
mainProgram = "free5gc-ausf";
};
})

View File

@@ -0,0 +1,46 @@
{
lib,
buildGoModule,
fetchFromGitHub,
versionCheckHook,
nix-update-script,
}:
buildGoModule (finalAttrs: {
pname = "free5gc-bsf";
version = "1.0.2";
__structuredAttrs = true;
src = fetchFromGitHub {
owner = "free5gc";
repo = "bsf";
tag = "v${finalAttrs.version}";
hash = "sha256-LIsLaAt3EZMUJBIVErFUP/DLrJnFhu+8WJMiKAgxUYE=";
};
vendorHash = "sha256-2T6Al3/Z7TCRIAk96ygT9LOe2hmqsyPfKuXqjW8LGig=";
ldflags = [
"-X github.com/free5gc/util/version.VERSION=v${finalAttrs.version}"
];
postInstall = ''
mv -v $out/bin/cmd $out/bin/free5gc-bsf
'';
doInstallCheck = true;
nativeInstallCheckInputs = [ versionCheckHook ];
versionCheckProgramArg = "irrelevant"; # has no version flag, empty string didn't work
passthru.updateScript = nix-update-script { };
meta = {
description = "Open source 5G core network based on 3GPP R15";
homepage = "https://free5gc.org/";
changelog = "https://github.com/free5gc/bsf/releases/tag/${finalAttrs.src.tag}";
license = lib.licenses.asl20;
maintainers = with lib.maintainers; [ felbinger ];
platforms = lib.platforms.linux;
mainProgram = "free5gc-bsf";
};
})

View File

@@ -0,0 +1,46 @@
{
lib,
buildGoModule,
fetchFromGitHub,
versionCheckHook,
nix-update-script,
}:
buildGoModule (finalAttrs: {
pname = "free5gc-chf";
version = "1.2.3";
__structuredAttrs = true;
src = fetchFromGitHub {
owner = "free5gc";
repo = "chf";
tag = "v${finalAttrs.version}";
hash = "sha256-rKAig3y7rGDoUpMoB5k58eIf+w7S3PhTsxObzLmUrmM=";
};
vendorHash = "sha256-/7GH6f4+Ao183AWxJIv6cndhoVE6Dnishgl8ER0knsQ=";
ldflags = [
"-X github.com/free5gc/util/version.VERSION=v${finalAttrs.version}"
];
postInstall = ''
mv -v $out/bin/cmd $out/bin/free5gc-chf
'';
doInstallCheck = true;
nativeInstallCheckInputs = [ versionCheckHook ];
versionCheckProgramArg = "irrelevant"; # has no version flag, empty string didn't work
passthru.updateScript = nix-update-script { };
meta = {
description = "Open source 5G core network based on 3GPP R15";
homepage = "https://free5gc.org/";
changelog = "https://github.com/free5gc/chf/releases/tag/${finalAttrs.src.tag}";
license = lib.licenses.asl20;
maintainers = with lib.maintainers; [ felbinger ];
platforms = lib.platforms.linux;
mainProgram = "free5gc-chf";
};
})

View File

@@ -0,0 +1,53 @@
{
lib,
buildGoModule,
fetchFromGitHub,
versionCheckHook,
nix-update-script,
}:
buildGoModule (finalAttrs: {
pname = "free5gc-n3iwf";
version = "1.3.3";
__structuredAttrs = true;
src = fetchFromGitHub {
owner = "free5gc";
repo = "n3iwf";
tag = "v${finalAttrs.version}";
hash = "sha256-BFr+d8YQNXcHcOgYZxuh+IFJ9/nMxEEDtTgbzhiFKCY=";
};
vendorHash = "sha256-tvMyRV/a40ubPoT1uGxZ1g2q4qJ3K9fof7Xt5IN8vC4=";
ldflags = [
"-X github.com/free5gc/util/version.VERSION=v${finalAttrs.version}"
];
postInstall = ''
mv -v $out/bin/cmd $out/bin/free5gc-n3iwf
'';
doInstallCheck = true;
nativeInstallCheckInputs = [ versionCheckHook ];
versionCheckProgramArg = "irrelevant"; # has no version flag, empty string didn't work
checkFlags = [
"-skip TestCheckIKEMessage"
# --- FAIL: TestCheckIKEMessage (0.00s)
# Error Trace: /build/source/internal/ike/server_test.go:170
# Error: Received unexpected error: dial udp 10.100.100.2:500: connect: network is unreachable
];
passthru.updateScript = nix-update-script { };
meta = {
description = "Open source 5G core network based on 3GPP R15";
homepage = "https://free5gc.org/";
changelog = "https://github.com/free5gc/n3iwf/releases/tag/${finalAttrs.src.tag}";
license = lib.licenses.asl20;
maintainers = with lib.maintainers; [ felbinger ];
platforms = lib.platforms.linux;
mainProgram = "free5gc-n3iwf";
};
})

View File

@@ -0,0 +1,46 @@
{
lib,
buildGoModule,
fetchFromGitHub,
versionCheckHook,
nix-update-script,
}:
buildGoModule (finalAttrs: {
pname = "free5gc-nef";
version = "1.2.3";
__structuredAttrs = true;
src = fetchFromGitHub {
owner = "free5gc";
repo = "nef";
tag = "v${finalAttrs.version}";
hash = "sha256-FaLL+RMAub8weCzE68UL6ZpjMf2GRfoekt1X2QjtVEw=";
};
vendorHash = "sha256-GS86eLcF0hlnnMPFsKGfhsUDcnjMQVq30oe0KxEbAzQ=";
ldflags = [
"-X github.com/free5gc/util/version.VERSION=v${finalAttrs.version}"
];
postInstall = ''
mv -v $out/bin/cmd $out/bin/free5gc-nef
'';
doInstallCheck = true;
nativeInstallCheckInputs = [ versionCheckHook ];
versionCheckProgramArg = "irrelevant"; # has no version flag, empty string didn't work
passthru.updateScript = nix-update-script { };
meta = {
description = "Open source 5G core network based on 3GPP R15";
homepage = "https://free5gc.org/";
changelog = "https://github.com/free5gc/nef/releases/tag/${finalAttrs.src.tag}";
license = lib.licenses.asl20;
maintainers = with lib.maintainers; [ felbinger ];
platforms = lib.platforms.linux;
mainProgram = "free5gc-nef";
};
})

View File

@@ -0,0 +1,46 @@
{
lib,
buildGoModule,
fetchFromGitHub,
versionCheckHook,
nix-update-script,
}:
buildGoModule (finalAttrs: {
pname = "free5gc-nrf";
version = "1.4.3";
__structuredAttrs = true;
src = fetchFromGitHub {
owner = "free5gc";
repo = "nrf";
tag = "v${finalAttrs.version}";
hash = "sha256-NACwoa5ulIkEPtbHO5sFIyTPu5CDlj+AOCedMgNx3z4=";
};
vendorHash = "sha256-xfrDXKcAJvYYjplBTXS7SezQX9rLhRomNXilFYVUyLM=";
ldflags = [
"-X github.com/free5gc/util/version.VERSION=v${finalAttrs.version}"
];
postInstall = ''
mv -v $out/bin/cmd $out/bin/free5gc-nrf
'';
doInstallCheck = true;
nativeInstallCheckInputs = [ versionCheckHook ];
versionCheckProgramArg = "irrelevant"; # has no version flag, empty string didn't work
passthru.updateScript = nix-update-script { };
meta = {
description = "Open source 5G core network based on 3GPP R15";
homepage = "https://free5gc.org/";
changelog = "https://github.com/free5gc/nrf/releases/tag/${finalAttrs.src.tag}";
license = lib.licenses.asl20;
maintainers = with lib.maintainers; [ felbinger ];
platforms = lib.platforms.linux;
mainProgram = "free5gc-nrf";
};
})

View File

@@ -0,0 +1,46 @@
{
lib,
buildGoModule,
fetchFromGitHub,
versionCheckHook,
nix-update-script,
}:
buildGoModule (finalAttrs: {
pname = "free5gc-nssf";
version = "1.4.3";
__structuredAttrs = true;
src = fetchFromGitHub {
owner = "free5gc";
repo = "nssf";
tag = "v${finalAttrs.version}";
hash = "sha256-ggX4SwQFEYJj8NrlEaQ4I5o+xzJdUQDWAfAMHnNunRU=";
};
vendorHash = "sha256-HqLxGpW15vHRNLyc6lwaFD5J9TVoqFqH+hFFiivgITQ=";
ldflags = [
"-X github.com/free5gc/util/version.VERSION=v${finalAttrs.version}"
];
postInstall = ''
mv -v $out/bin/cmd $out/bin/free5gc-nssf
'';
doInstallCheck = true;
nativeInstallCheckInputs = [ versionCheckHook ];
versionCheckProgramArg = "irrelevant"; # has no version flag, empty string didn't work
passthru.updateScript = nix-update-script { };
meta = {
description = "Open source 5G core network based on 3GPP R15";
homepage = "https://free5gc.org/";
changelog = "https://github.com/free5gc/nssf/releases/tag/${finalAttrs.src.tag}";
license = lib.licenses.asl20;
maintainers = with lib.maintainers; [ felbinger ];
platforms = lib.platforms.linux;
mainProgram = "free5gc-nssf";
};
})

View File

@@ -0,0 +1,46 @@
{
lib,
buildGoModule,
fetchFromGitHub,
versionCheckHook,
nix-update-script,
}:
buildGoModule (finalAttrs: {
pname = "free5gc-pcf";
version = "1.4.3";
__structuredAttrs = true;
src = fetchFromGitHub {
owner = "free5gc";
repo = "pcf";
tag = "v${finalAttrs.version}";
hash = "sha256-nxs29ikm/NQTnVc2ANzZxMqC9Usui4E+0GrL5taO9aM=";
};
vendorHash = "sha256-m1IqVKnsT7vWJMWHGrA4QB3aXIkGsIJQQ7NAGT/Th38=";
ldflags = [
"-X github.com/free5gc/util/version.VERSION=v${finalAttrs.version}"
];
postInstall = ''
mv -v $out/bin/cmd $out/bin/free5gc-pcf
'';
doInstallCheck = true;
nativeInstallCheckInputs = [ versionCheckHook ];
versionCheckProgramArg = "irrelevant"; # has no version flag, empty string didn't work
passthru.updateScript = nix-update-script { };
meta = {
description = "Open source 5G core network based on 3GPP R15";
homepage = "https://free5gc.org/";
changelog = "https://github.com/free5gc/pcf/releases/tag/${finalAttrs.src.tag}";
license = lib.licenses.asl20;
maintainers = with lib.maintainers; [ felbinger ];
platforms = lib.platforms.linux;
mainProgram = "free5gc-pcf";
};
})

View File

@@ -0,0 +1,46 @@
{
lib,
buildGoModule,
fetchFromGitHub,
versionCheckHook,
nix-update-script,
}:
buildGoModule (finalAttrs: {
pname = "free5gc-smf";
version = "1.4.3";
__structuredAttrs = true;
src = fetchFromGitHub {
owner = "free5gc";
repo = "smf";
tag = "v${finalAttrs.version}";
hash = "sha256-V5Z0AZMloCRgsCI0j8j9dnb2a+gKhu3M29Po3wY0RMk=";
};
vendorHash = "sha256-8sVuhlLN00TxTaQFtETvsuAIoW3yjy/CBGF4PQp2XQ4=";
ldflags = [
"-X github.com/free5gc/util/version.VERSION=v${finalAttrs.version}"
];
postInstall = ''
mv -v $out/bin/cmd $out/bin/free5gc-smf
'';
doInstallCheck = true;
nativeInstallCheckInputs = [ versionCheckHook ];
versionCheckProgramArg = "irrelevant"; # has no version flag, empty string didn't work
passthru.updateScript = nix-update-script { };
meta = {
description = "Open source 5G core network based on 3GPP R15";
homepage = "https://free5gc.org/";
changelog = "https://github.com/free5gc/smf/releases/tag/${finalAttrs.src.tag}";
license = lib.licenses.asl20;
maintainers = with lib.maintainers; [ felbinger ];
platforms = lib.platforms.linux;
mainProgram = "free5gc-smf";
};
})

View File

@@ -0,0 +1,46 @@
{
lib,
buildGoModule,
fetchFromGitHub,
versionCheckHook,
nix-update-script,
}:
buildGoModule (finalAttrs: {
pname = "free5gc-tngf";
version = "1.1.3";
__structuredAttrs = true;
src = fetchFromGitHub {
owner = "free5gc";
repo = "tngf";
tag = "v${finalAttrs.version}";
hash = "sha256-rWSx4FCAA1QL7F66swPdhDcDr60TrtMnXhTlVBRR2OY=";
};
vendorHash = "sha256-C0zs4+ypC0LI5tkjrs5ajiWnoArHvdOoXj1iaNqSXM0=";
ldflags = [
"-X github.com/free5gc/util/version.VERSION=v${finalAttrs.version}"
];
postInstall = ''
mv -v $out/bin/cmd $out/bin/free5gc-tngf
'';
doInstallCheck = true;
nativeInstallCheckInputs = [ versionCheckHook ];
versionCheckProgramArg = "irrelevant"; # has no version flag, empty string didn't work
passthru.updateScript = nix-update-script { };
meta = {
description = "Open source 5G core network based on 3GPP R15";
homepage = "https://free5gc.org/";
changelog = "https://github.com/free5gc/tngf/releases/tag/${finalAttrs.src.tag}";
license = lib.licenses.asl20;
maintainers = with lib.maintainers; [ felbinger ];
platforms = lib.platforms.linux;
mainProgram = "free5gc-tngf";
};
})

View File

@@ -0,0 +1,46 @@
{
lib,
buildGoModule,
fetchFromGitHub,
versionCheckHook,
nix-update-script,
}:
buildGoModule (finalAttrs: {
pname = "free5gc-udm";
version = "1.4.3";
__structuredAttrs = true;
src = fetchFromGitHub {
owner = "free5gc";
repo = "udm";
tag = "v${finalAttrs.version}";
hash = "sha256-sxksDLI3xV/vz48F9s3TUga6hORaqRTwIiCzeNS0Ijs=";
};
vendorHash = "sha256-dl9rNeh4NurAcTFsca2189ReFdg8e5sMjvVGfe8EMWc=";
ldflags = [
"-X github.com/free5gc/util/version.VERSION=v${finalAttrs.version}"
];
postInstall = ''
mv -v $out/bin/cmd $out/bin/free5gc-udm
'';
doInstallCheck = true;
nativeInstallCheckInputs = [ versionCheckHook ];
versionCheckProgramArg = "irrelevant"; # has no version flag, empty string didn't work
passthru.updateScript = nix-update-script { };
meta = {
description = "Open source 5G core network based on 3GPP R15";
homepage = "https://free5gc.org/";
changelog = "https://github.com/free5gc/udm/releases/tag/${finalAttrs.src.tag}";
license = lib.licenses.asl20;
maintainers = with lib.maintainers; [ felbinger ];
platforms = lib.platforms.linux;
mainProgram = "free5gc-udm";
};
})

View File

@@ -0,0 +1,53 @@
{
lib,
buildGoModule,
fetchFromGitHub,
versionCheckHook,
nix-update-script,
}:
buildGoModule (finalAttrs: {
pname = "free5gc-udr";
version = "1.4.3";
__structuredAttrs = true;
src = fetchFromGitHub {
owner = "free5gc";
repo = "udr";
tag = "v${finalAttrs.version}";
hash = "sha256-ZfZ9amkKSL+C6ArUmZ+ckj7w++qI1/nlJmPHtsxFaf4=";
};
vendorHash = "sha256-LCUT9bkUr7telvQMvg/ZgsLu6352DOP3iy9cBhDjsj8=";
ldflags = [
"-X github.com/free5gc/util/version.VERSION=v${finalAttrs.version}"
];
postInstall = ''
mv -v $out/bin/cmd $out/bin/free5gc-udr
'';
doInstallCheck = true;
nativeInstallCheckInputs = [ versionCheckHook ];
versionCheckProgramArg = "irrelevant"; # has no version flag, empty string didn't work
checkFlags = [
"-skip TestUDR_InfluData_CreateThenGet"
# --- FAIL: TestUDR_InfluData_CreateThenGet (30.00s)
# Error Trace: /build/source/internal/sbi/api_sanity_test.go:64
# Error: Expected nil, but got: topology.ServerSelectionError
];
passthru.updateScript = nix-update-script { };
meta = {
description = "Open source 5G core network based on 3GPP R15";
homepage = "https://free5gc.org/";
changelog = "https://github.com/free5gc/udr/releases/tag/${finalAttrs.src.tag}";
license = lib.licenses.asl20;
maintainers = with lib.maintainers; [ felbinger ];
platforms = lib.platforms.linux;
mainProgram = "free5gc-udr";
};
})

View File

@@ -0,0 +1,59 @@
{
lib,
buildGoModule,
fetchFromGitHub,
versionCheckHook,
nix-update-script,
}:
buildGoModule (finalAttrs: {
pname = "free5gc-upf";
version = "1.2.12";
__structuredAttrs = true;
src = fetchFromGitHub {
owner = "free5gc";
repo = "go-upf";
tag = "v${finalAttrs.version}";
hash = "sha256-MfQbHVEqnoFzUL5FPIE6dQSJxQD7PAZSbAgy/skHs+8=";
};
vendorHash = "sha256-VPm0Z67Sm/liIofVm1bI3/HU+lwYtwkg6zMRdZFZTZ8=";
ldflags = [
"-X github.com/free5gc/util/version.VERSION=v${finalAttrs.version}"
];
postInstall = ''
mv -v $out/bin/cmd $out/bin/free5gc-upf
'';
doInstallCheck = true;
nativeInstallCheckInputs = [ versionCheckHook ];
versionCheckProgramArg = "irrelevant"; # has no version flag, empty string didn't work
checkFlags =
let
# Skip tests that require gtp5g kernel module
# result in: create: operation not permitted or get family: no such file or directory
skippedTests = [
"TestGtp5g_CreateRules"
"TestNewFlowDesc"
"TestServer"
"TestWaitRoutineStopped"
];
in
[ "-skip=^${builtins.concatStringsSep "$|^" skippedTests}$" ];
passthru.updateScript = nix-update-script { };
meta = {
description = "Open source 5G core network based on 3GPP R15";
homepage = "https://free5gc.org/";
changelog = "https://github.com/free5gc/go-upf/releases/tag/${finalAttrs.src.tag}";
license = lib.licenses.asl20;
maintainers = with lib.maintainers; [ felbinger ];
platforms = lib.platforms.linux;
mainProgram = "free5gc-upf";
};
})

View File

@@ -27,7 +27,7 @@ stdenv.mkDerivation (finalAttrs: {
};
cargoDeps = rustPlatform.fetchCargoVendor {
inherit (finalAttrs) src;
inherit (finalAttrs) pname version src;
hash = "sha256-g7pHEBrR/tdKP+kuYJ44Py7kaAx0tXcMkC4UdsfSfDQ=";
};

View File

@@ -0,0 +1,434 @@
Include <fmt/format.h> instead of <fmt/core.h>
fmt 12.2.0 made <fmt/core.h> a shim for <fmt/base.h>, which no longer
declares fmt::format.
diff --git a/src/core/channels/channel.cpp b/src/core/channels/channel.cpp
index f17693d..5399f97 100644
--- a/src/core/channels/channel.cpp
+++ b/src/core/channels/channel.cpp
@@ -30,7 +30,7 @@
#if G_DEBUG_MODE
#include "src/core/wave.h"
#include "src/utils/string.h"
-#include <fmt/core.h>
+#include <fmt/format.h>
#endif
namespace giada::m
diff --git a/src/core/engine.cpp b/src/core/engine.cpp
index 04cfa95..3ef5f05 100644
--- a/src/core/engine.cpp
+++ b/src/core/engine.cpp
@@ -32,7 +32,7 @@
#include "src/utils/fs.h"
#include "src/utils/log.h"
#include "src/utils/string.h"
-#include <fmt/core.h>
+#include <fmt/format.h>
#include <memory>
namespace giada::m
diff --git a/src/core/model/actions.cpp b/src/core/model/actions.cpp
index 2c72147..f9b1bb0 100644
--- a/src/core/model/actions.cpp
+++ b/src/core/model/actions.cpp
@@ -32,7 +32,7 @@
#include <cassert>
#include <memory>
#if G_DEBUG_MODE
-#include <fmt/core.h>
+#include <fmt/format.h>
#endif
namespace utils = mcl::utils;
diff --git a/src/core/model/channels.cpp b/src/core/model/channels.cpp
index 857814f..53b2cd2 100644
--- a/src/core/model/channels.cpp
+++ b/src/core/model/channels.cpp
@@ -30,7 +30,7 @@
#include <cassert>
#if G_DEBUG_MODE
#include "src/utils/string.h"
-#include <fmt/core.h>
+#include <fmt/format.h>
#endif
namespace utils = mcl::utils;
diff --git a/src/core/model/mixer.cpp b/src/core/model/mixer.cpp
index b20caaf..2de421d 100644
--- a/src/core/model/mixer.cpp
+++ b/src/core/model/mixer.cpp
@@ -27,7 +27,7 @@
#include "src/core/model/mixer.h"
#include "src/const.h"
#if G_DEBUG_MODE
-#include <fmt/core.h>
+#include <fmt/format.h>
#endif
namespace giada::m::model
diff --git a/src/core/model/model.cpp b/src/core/model/model.cpp
index 316a729..8ac1901 100644
--- a/src/core/model/model.cpp
+++ b/src/core/model/model.cpp
@@ -36,7 +36,7 @@
#include <cassert>
#include <memory>
#if G_DEBUG_MODE
-#include <fmt/core.h>
+#include <fmt/format.h>
#endif
#include <fmt/ostream.h>
diff --git a/src/core/model/shared.cpp b/src/core/model/shared.cpp
index 8603c24..cd01ac7 100644
--- a/src/core/model/shared.cpp
+++ b/src/core/model/shared.cpp
@@ -31,7 +31,7 @@
#include "src/core/waveFactory.h"
#include "src/deps/mcl-utils/src/container.hpp"
#if G_DEBUG_MODE
-#include <fmt/core.h>
+#include <fmt/format.h>
#endif
#include <fmt/ostream.h>
diff --git a/src/core/model/track.cpp b/src/core/model/track.cpp
index c88a0b4..a464483 100644
--- a/src/core/model/track.cpp
+++ b/src/core/model/track.cpp
@@ -28,7 +28,7 @@
#include "src/core/types.h"
#include <cassert>
#if G_DEBUG_MODE
-#include <fmt/core.h>
+#include <fmt/format.h>
#endif
namespace giada::m::model
diff --git a/src/core/wave.cpp b/src/core/wave.cpp
index e21f9af..01c1334 100644
--- a/src/core/wave.cpp
+++ b/src/core/wave.cpp
@@ -27,7 +27,7 @@
#include "src/core/wave.h"
#include "src/deps/mcl-utils/src/fs.hpp"
#include <cassert>
-#include <fmt/core.h>
+#include <fmt/format.h>
namespace utils = mcl::utils;
diff --git a/src/core/waveFactory.cpp b/src/core/waveFactory.cpp
index 73708d4..425f754 100644
--- a/src/core/waveFactory.cpp
+++ b/src/core/waveFactory.cpp
@@ -34,7 +34,7 @@
#include "src/deps/mcl-utils/src/fs.hpp"
#include "src/utils/log.h"
#include <cmath>
-#include <fmt/core.h>
+#include <fmt/format.h>
#include <memory>
#include <samplerate.h>
#include <sndfile.h>
diff --git a/src/glue/config.cpp b/src/glue/config.cpp
index e05b483..2856f72 100644
--- a/src/glue/config.cpp
+++ b/src/glue/config.cpp
@@ -37,7 +37,7 @@
#include "src/gui/elems/config/tabPlugins.h"
#include "src/gui/ui.h"
#include "src/utils/fs.h"
-#include <fmt/core.h>
+#include <fmt/format.h>
extern giada::v::Ui* g_ui;
extern giada::m::Engine* g_engine;
diff --git a/src/gui/dialogs/about.cpp b/src/gui/dialogs/about.cpp
index 818e219..62b377d 100644
--- a/src/gui/dialogs/about.cpp
+++ b/src/gui/dialogs/about.cpp
@@ -32,7 +32,7 @@
#include "src/gui/ui.h"
#include "src/utils/gui.h"
#include "src/utils/string.h"
-#include <fmt/core.h>
+#include <fmt/format.h>
extern giada::v::Ui* g_ui;
diff --git a/src/gui/dialogs/actionEditor/baseActionEditor.cpp b/src/gui/dialogs/actionEditor/baseActionEditor.cpp
index 5c5e6db..6850a07 100644
--- a/src/gui/dialogs/actionEditor/baseActionEditor.cpp
+++ b/src/gui/dialogs/actionEditor/baseActionEditor.cpp
@@ -43,7 +43,7 @@
#include <FL/Fl.H>
#include <FL/fl_draw.H>
#include <cassert>
-#include <fmt/core.h>
+#include <fmt/format.h>
#include <limits>
#include <string>
diff --git a/src/gui/dialogs/bpmInput.cpp b/src/gui/dialogs/bpmInput.cpp
index 0b862f8..737ba79 100644
--- a/src/gui/dialogs/bpmInput.cpp
+++ b/src/gui/dialogs/bpmInput.cpp
@@ -33,7 +33,7 @@
#include "src/gui/ui.h"
#include "src/utils/gui.h"
#include <cstring>
-#include <fmt/core.h>
+#include <fmt/format.h>
extern giada::v::Ui* g_ui;
diff --git a/src/gui/dialogs/channelRouting.cpp b/src/gui/dialogs/channelRouting.cpp
index 8b1af7a..daa4661 100644
--- a/src/gui/dialogs/channelRouting.cpp
+++ b/src/gui/dialogs/channelRouting.cpp
@@ -37,7 +37,7 @@
#include "src/gui/graphics.h"
#include "src/gui/ui.h"
#include "src/utils/gui.h"
-#include <fmt/core.h>
+#include <fmt/format.h>
#include <ranges>
extern giada::v::Ui* g_ui;
diff --git a/src/gui/dialogs/mainWindow.cpp b/src/gui/dialogs/mainWindow.cpp
index 68446b8..ed83e69 100644
--- a/src/gui/dialogs/mainWindow.cpp
+++ b/src/gui/dialogs/mainWindow.cpp
@@ -42,7 +42,7 @@
#include "src/utils/gui.h"
#include <FL/Fl.H>
#include <FL/Fl_Tooltip.H>
-#include <fmt/core.h>
+#include <fmt/format.h>
extern giada::v::Ui* g_ui;
diff --git a/src/gui/dialogs/sampleEditor.cpp b/src/gui/dialogs/sampleEditor.cpp
index c41654f..fe849b7 100644
--- a/src/gui/dialogs/sampleEditor.cpp
+++ b/src/gui/dialogs/sampleEditor.cpp
@@ -52,7 +52,7 @@
#include <FL/Fl_Group.H>
#include <cassert>
#include <cmath>
-#include <fmt/core.h>
+#include <fmt/format.h>
#if G_OS_WINDOWS
#undef IN
diff --git a/src/gui/elems/config/tabAudio.cpp b/src/gui/elems/config/tabAudio.cpp
index a42422b..6af6802 100644
--- a/src/gui/elems/config/tabAudio.cpp
+++ b/src/gui/elems/config/tabAudio.cpp
@@ -35,7 +35,7 @@
#include "src/gui/elems/basics/textButton.h"
#include "src/gui/ui.h"
#include "src/utils/gui.h"
-#include <fmt/core.h>
+#include <fmt/format.h>
#include <string>
extern giada::v::Ui* g_ui;
diff --git a/src/gui/elems/config/tabMisc.cpp b/src/gui/elems/config/tabMisc.cpp
index 36b66ae..261538b 100644
--- a/src/gui/elems/config/tabMisc.cpp
+++ b/src/gui/elems/config/tabMisc.cpp
@@ -31,7 +31,7 @@
#include "src/gui/elems/config/stringMenu.h"
#include "src/gui/ui.h"
#include "src/utils/gui.h"
-#include <fmt/core.h>
+#include <fmt/format.h>
constexpr int LABEL_WIDTH = 120;
diff --git a/src/gui/elems/config/tabPlugins.cpp b/src/gui/elems/config/tabPlugins.cpp
index 98305e2..0a1aa60 100644
--- a/src/gui/elems/config/tabPlugins.cpp
+++ b/src/gui/elems/config/tabPlugins.cpp
@@ -39,7 +39,7 @@
#include "src/utils/gui.h"
#include "src/utils/string.h"
#include <FL/Fl.H>
-#include <fmt/core.h>
+#include <fmt/format.h>
#include <functional>
extern giada::v::Ui* g_ui;
diff --git a/src/gui/elems/mainWindow/cpuLoad.cpp b/src/gui/elems/mainWindow/cpuLoad.cpp
index 19e0cab..087832a 100644
--- a/src/gui/elems/mainWindow/cpuLoad.cpp
+++ b/src/gui/elems/mainWindow/cpuLoad.cpp
@@ -30,7 +30,7 @@
#include "src/gui/drawing.h"
#include "src/gui/elems/basics/box.h"
#include "src/gui/elems/basics/progress.h"
-#include <fmt/core.h>
+#include <fmt/format.h>
namespace giada::v
{
diff --git a/src/gui/elems/mainWindow/keyboard/groupChannel.cpp b/src/gui/elems/mainWindow/keyboard/groupChannel.cpp
index 961b2de..1c1bcef 100644
--- a/src/gui/elems/mainWindow/keyboard/groupChannel.cpp
+++ b/src/gui/elems/mainWindow/keyboard/groupChannel.cpp
@@ -34,7 +34,7 @@
#include "src/gui/elems/midiActivity.h"
#include "src/gui/graphics.h"
#include "src/gui/ui.h"
-#include <fmt/core.h>
+#include <fmt/format.h>
extern giada::v::Ui* g_ui;
diff --git a/src/gui/elems/mainWindow/keyboard/midiChannel.cpp b/src/gui/elems/mainWindow/keyboard/midiChannel.cpp
index 4ddcca1..ccc7ad4 100644
--- a/src/gui/elems/mainWindow/keyboard/midiChannel.cpp
+++ b/src/gui/elems/mainWindow/keyboard/midiChannel.cpp
@@ -35,7 +35,7 @@
#include "src/gui/elems/midiActivity.h"
#include "src/gui/graphics.h"
#include "src/gui/ui.h"
-#include <fmt/core.h>
+#include <fmt/format.h>
extern giada::v::Ui* g_ui;
diff --git a/src/gui/elems/mainWindow/keyboard/midiChannelButton.cpp b/src/gui/elems/mainWindow/keyboard/midiChannelButton.cpp
index a8da2c8..8025fd2 100644
--- a/src/gui/elems/mainWindow/keyboard/midiChannelButton.cpp
+++ b/src/gui/elems/mainWindow/keyboard/midiChannelButton.cpp
@@ -26,7 +26,7 @@
#include "src/gui/elems/mainWindow/keyboard/midiChannelButton.h"
#include "src/glue/channel.h"
-#include <fmt/core.h>
+#include <fmt/format.h>
namespace giada::v
{
diff --git a/src/gui/elems/mainWindow/keyboard/sampleChannel.cpp b/src/gui/elems/mainWindow/keyboard/sampleChannel.cpp
index 549fbf1..540e342 100644
--- a/src/gui/elems/mainWindow/keyboard/sampleChannel.cpp
+++ b/src/gui/elems/mainWindow/keyboard/sampleChannel.cpp
@@ -37,7 +37,7 @@
#include "src/gui/elems/midiActivity.h"
#include "src/gui/graphics.h"
#include "src/gui/ui.h"
-#include <fmt/core.h>
+#include <fmt/format.h>
extern giada::v::Ui* g_ui;
diff --git a/src/gui/elems/mainWindow/mainTimer.cpp b/src/gui/elems/mainWindow/mainTimer.cpp
index 55361d1..e7a6575 100644
--- a/src/gui/elems/mainWindow/mainTimer.cpp
+++ b/src/gui/elems/mainWindow/mainTimer.cpp
@@ -33,7 +33,7 @@
#include "src/gui/graphics.h"
#include "src/gui/ui.h"
#include "src/utils/gui.h"
-#include <fmt/core.h>
+#include <fmt/format.h>
extern giada::v::Ui* g_ui;
diff --git a/src/gui/elems/mainWindow/scenes.cpp b/src/gui/elems/mainWindow/scenes.cpp
index a2aca20..bb92b06 100644
--- a/src/gui/elems/mainWindow/scenes.cpp
+++ b/src/gui/elems/mainWindow/scenes.cpp
@@ -31,7 +31,7 @@
#include "src/gui/elems/basics/flex.h"
#include "src/gui/elems/playButton.h"
#include "src/gui/ui.h"
-#include <fmt/core.h>
+#include <fmt/format.h>
extern giada::v::Ui* g_ui;
diff --git a/src/gui/elems/midiIO/midiLearner.cpp b/src/gui/elems/midiIO/midiLearner.cpp
index 76746df..87a1c55 100644
--- a/src/gui/elems/midiIO/midiLearner.cpp
+++ b/src/gui/elems/midiIO/midiLearner.cpp
@@ -30,7 +30,7 @@
#include "src/gui/elems/basics/textButton.h"
#include "src/gui/ui.h"
#include <cassert>
-#include <fmt/core.h>
+#include <fmt/format.h>
extern giada::v::Ui* g_ui;
diff --git a/src/gui/elems/panTool.cpp b/src/gui/elems/panTool.cpp
index b431b5f..c282355 100644
--- a/src/gui/elems/panTool.cpp
+++ b/src/gui/elems/panTool.cpp
@@ -33,7 +33,7 @@
#include "src/utils/gui.h"
#include "src/utils/string.h"
#include <FL/Fl.H>
-#include <fmt/core.h>
+#include <fmt/format.h>
extern giada::v::Ui* g_ui;
diff --git a/src/gui/elems/plugin/pluginBrowser.cpp b/src/gui/elems/plugin/pluginBrowser.cpp
index 0b87db5..078c3d1 100644
--- a/src/gui/elems/plugin/pluginBrowser.cpp
+++ b/src/gui/elems/plugin/pluginBrowser.cpp
@@ -30,7 +30,7 @@
#include "src/gui/elems/basics/boxtypes.h"
#include "src/gui/ui.h"
#include "src/utils/gui.h"
-#include <fmt/core.h>
+#include <fmt/format.h>
extern giada::v::Ui* g_ui;
diff --git a/src/gui/elems/sampleEditor/pitchTool.cpp b/src/gui/elems/sampleEditor/pitchTool.cpp
index a9fe895..ec2e0eb 100644
--- a/src/gui/elems/sampleEditor/pitchTool.cpp
+++ b/src/gui/elems/sampleEditor/pitchTool.cpp
@@ -37,7 +37,7 @@
#include "src/gui/graphics.h"
#include "src/gui/ui.h"
#include "src/utils/gui.h"
-#include <fmt/core.h>
+#include <fmt/format.h>
extern giada::v::Ui* g_ui;
diff --git a/src/gui/elems/volumeTool.cpp b/src/gui/elems/volumeTool.cpp
index 22a8673..9e054ac 100644
--- a/src/gui/elems/volumeTool.cpp
+++ b/src/gui/elems/volumeTool.cpp
@@ -32,7 +32,7 @@
#include "src/gui/elems/basics/input.h"
#include "src/gui/elems/basics/textButton.h"
#include "src/gui/ui.h"
-#include <fmt/core.h>
+#include <fmt/format.h>
extern giada::v::Ui* g_ui;
diff --git a/src/utils/log.h b/src/utils/log.h
index f9b1433..a35d894 100644
--- a/src/utils/log.h
+++ b/src/utils/log.h
@@ -32,7 +32,7 @@
#include "src/const.h"
#include "src/core/const.h"
#include "src/utils/fs.h"
-#include <fmt/core.h>
+#include <fmt/format.h>
#include <fmt/ostream.h>
#include <fstream>
#include <string>

View File

@@ -45,6 +45,10 @@ stdenv.mkDerivation (finalAttrs: {
"-Wno-error"
];
# fmt 12.2.0 made <fmt/core.h> a shim for <fmt/base.h>, which no longer
# declares fmt::format.
patches = [ ./fmt-12-format-header.patch ];
cmakeFlags = [
"-DCMAKE_INSTALL_BINDIR=bin"
];

View File

@@ -37,7 +37,7 @@ stdenv.mkDerivation (finalAttrs: {
];
cargoDeps = rustPlatform.fetchCargoVendor {
inherit (finalAttrs) src;
inherit (finalAttrs) pname version src;
hash = "sha256-IVizzc2dKZ83dz3KBMDDiaFNdnS40cS++k8AywyvakQ=";
};

View File

@@ -32,8 +32,7 @@ stdenv.mkDerivation (finalAttrs: {
};
cargoDeps = rustPlatform.fetchCargoVendor {
inherit (finalAttrs) src;
name = "gnome-robots-${finalAttrs.version}";
inherit (finalAttrs) pname version src;
hash = "sha256-T3o4zlRLQzrLexSDI9A98bubehYFwJY1zBVUUNmrc9o=";
};

View File

@@ -7,14 +7,14 @@
python3Packages.buildPythonApplication (finalAttrs: {
pname = "ha-mcp";
version = "7.8.0";
version = "8.2.0";
pyproject = true;
src = fetchFromGitHub {
owner = "homeassistant-ai";
repo = "ha-mcp";
tag = "v${finalAttrs.version}";
hash = "sha256-+HhtHeSQlK1jd/4/x1d54Etvrs8e+pQkIGvJV39ZZBw=";
hash = "sha256-JjZyHfqSbo3T6uMd8JVvEDVpYIDpJQcd4fViNo5wrY8=";
};
build-system = with python3Packages; [
@@ -29,11 +29,12 @@ python3Packages.buildPythonApplication (finalAttrs: {
cryptography
fastmcp
httpx
packaging
pydantic
pydantic-monty
python-dotenv
truststore
websockets
tzdata
]
++ httpx.optional-dependencies.socks;

View File

@@ -1,12 +1,12 @@
{ requireFile, callPackage }:
callPackage ./runtime-build.nix rec {
version = "21.0.559";
version = "22.0.368";
eulaDate = "2021-10-13";
src = requireFile {
name = "houdini-${version}-linux_x86_64_gcc11.2.tar.gz";
hash = "sha256-bZmoH1NKQhhMAhIl3pTL7irUZ7HrOhS8R7GApLD5514=";
name = "houdini-${version}-linux_x86_64_gcc14.2.tar.gz";
hash = "sha256-h2UzXwkKgyl2i0FbZLyfuAoNmWOxP2NFWtBC4y01NhY=";
url = "https://www.sidefx.com/download/daily-builds/?show_launcher=false&production=true&linux=true";
};
outputHash = "sha256-/7ctlMUoyJdPdBQV7rRO9pWcg9bXcnMJsB9TN/Jo8QQ=";
outputHash = "sha256-sJwKbkmHykgyP6yio5W8FVxLWm2S0PEQz5RVRF3cbfI=";
}

View File

@@ -6,10 +6,10 @@
}:
let
pname = "hydralauncher";
version = "4.0.6";
version = "4.1.1";
src = fetchurl {
url = "https://github.com/hydralauncher/hydra/releases/download/v${version}/hydralauncher-${version}.AppImage";
hash = "sha256-LQ2z8yUUhKLs98YvHHLnhqqtcJFGIvEQ19kB5l0Ti9E=";
hash = "sha256-Xmo8pY5Aj45hOJW2OSvcpw6Jh6bc/znR0Q6jo6AWkVc=";
};
appimageContents = appimageTools.extract { inherit pname src version; };

View File

@@ -47,7 +47,7 @@ stdenv.mkDerivation (finalAttrs: {
};
cargoDeps = rustPlatform.fetchCargoVendor {
inherit (finalAttrs) src;
inherit (finalAttrs) pname version src;
sourceRoot = finalAttrs.src.name + "/backend";
hash = "sha256-u5WFV7luvqSQQtEJFlN//GH6iNcQpH/o01ME1dPtOB4=";
};

View File

@@ -23,11 +23,11 @@
stdenv.mkDerivation (finalAttrs: {
pname = "ironwail";
version = "0.8.1";
version = "0.8.2";
src = fetchurl {
url = "https://github.com/andrei-drexler/ironwail/archive/refs/tags/v${finalAttrs.version}.tar.gz";
hash = "sha256-TlEMuwmpQIoIyjyQo9T/h3T7rPHX+K8TqHKSt+UtMBg=";
hash = "sha256-rt+u0oY2W7UzsIUs5Tvd3IcBXsM2Z0UEfXNVLejc06U=";
};
sourceRoot = "${finalAttrs.pname}-${finalAttrs.version}/Quake";

View File

@@ -0,0 +1,59 @@
{
lib,
fetchFromGitLab,
stdenvNoCC,
nix-update-script,
installShellFiles,
makeWrapper,
perl,
gnupg,
}:
stdenvNoCC.mkDerivation (finalAttrs: {
pname = "jetring";
version = "0.32";
__structuredAttrs = true;
strictDeps = true;
src = fetchFromGitLab {
domain = "salsa.debian.org";
owner = "debian";
repo = "jetring";
tag = "debian/${finalAttrs.version}";
hash = "sha256-oaZXy/BO0mDYvDPW0OP38fXZTZSrcUCW7uYuwCMBPDc=";
};
nativeBuildInputs = [
installShellFiles
makeWrapper
];
buildInputs = [
perl
];
dontBuild = true;
installPhase = ''
runHook preInstall
installBin jetring-{accept,apply,build,diff,explode,gen,review,signindex,checksum}
for f in $out/bin/*; do
wrapProgram "$f" --prefix PATH : ${lib.makeBinPath [ gnupg ]}
done
installManPage *.{1,7}
runHook postInstall
'';
passthru.updateScript = nix-update-script { };
meta = {
description = "Maintenance of gpg keyrings using changesets";
homepage = "https://salsa.debian.org/debian/jetring";
license = lib.licenses.gpl2Plus;
platforms = lib.platforms.all;
maintainers = [ lib.maintainers.skyesoss ];
};
})

View File

@@ -27,8 +27,7 @@ stdenv.mkDerivation (finalAttrs: {
};
cargoDeps = rustPlatform.fetchCargoVendor {
inherit (finalAttrs) src;
name = "kana-${finalAttrs.version}";
inherit (finalAttrs) pname version src;
hash = "sha256-3ODkAstBZQE3eqGmRUdm3xyCoBXV41hK4ndxeDK8+Yc=";
};

View File

@@ -32,7 +32,7 @@ stdenv.mkDerivation (finalAttrs: {
'';
cargoDeps = rustPlatform.fetchCargoVendor {
inherit (finalAttrs) src;
inherit (finalAttrs) pname version src;
hash = "sha256-iV9ILi3/Uqi8lDHh1Uf2caz6Kc129CDThnqTN9VfUHc=";
};

View File

@@ -46,7 +46,7 @@ stdenv.mkDerivation (finalAttrs: {
};
cargoDeps = rustPlatform.fetchCargoVendor {
inherit (finalAttrs) src;
inherit (finalAttrs) pname version src;
hash = "sha256-U3SOHZvgyPwv98wY41dnwSCUg+DTkb/LY6woffrAli8=";
};

View File

@@ -24,7 +24,7 @@ stdenv.mkDerivation (finalAttrs: {
};
cargoDeps = rustPlatform.fetchCargoVendor {
inherit (finalAttrs) src;
inherit (finalAttrs) pname version src;
hash = "sha256-ptMqyCiIJsQfjFyislyc3pR0BGpwnu8Ba3OcQYLJPtM=";
};

View File

@@ -26,7 +26,7 @@ stdenv.mkDerivation (finalAttrs: {
};
cargoDeps = rustPlatform.fetchCargoVendor {
inherit (finalAttrs) src;
inherit (finalAttrs) pname version src;
hash = "sha256-MRcQ0Vnd3PJqE2q981JpXPjwMUKT4t+RcOvzWptK7PQ=";
};

View File

@@ -56,7 +56,7 @@ stdenv.mkDerivation (finalAttrs: {
};
cargoDeps = rustPlatform.fetchCargoVendor {
inherit (finalAttrs) src;
inherit (finalAttrs) pname version src;
hash = "sha256-n0ACVH8NXwe7SIaGFoJ20WIGGR3XjcuLTwPSKGJpT5s=";
};

View File

@@ -30,7 +30,7 @@ stdenv.mkDerivation (finalAttrs: {
'';
cargoDeps = rustPlatform.fetchCargoVendor {
inherit (finalAttrs) src;
inherit (finalAttrs) pname version src;
hash = "sha256-WPB1IIwKTF9lnkdcgNXcOP6kWIwQcUguUf8Nh5vDA5E=";
};

View File

@@ -7,7 +7,7 @@
}:
let
# This package should be updated together with libphidget22extra
version = "1.23.20250925";
version = "1.25.20260512";
in
stdenv.mkDerivation {
pname = "libphidget22";
@@ -15,7 +15,7 @@ stdenv.mkDerivation {
src = fetchurl {
url = "https://www.phidgets.com/downloads/phidget22/libraries/linux/libphidget22/libphidget22-${version}.tar.gz";
hash = "sha256-/2OgjiuoK3+gJ95tSk809OfMABUtKPN9bb4pVH447Ik=";
hash = "sha256-wrLPP32gOjXsewdLUCe7lUUqfib3egrOONey9mcUfV8=";
};
nativeBuildInputs = [ automake ];

View File

@@ -9,7 +9,7 @@
let
# This package should be updated together with libphidget22
version = "1.23.20250925";
version = "1.25.20260512";
in
stdenv.mkDerivation {
pname = "libphidget22extra";
@@ -17,7 +17,7 @@ stdenv.mkDerivation {
src = fetchurl {
url = "https://www.phidgets.com/downloads/phidget22/libraries/linux/libphidget22extra/libphidget22extra-${version}.tar.gz";
hash = "sha256-eU/4tO9oa+/Cyy2Ro3zm2m3sAN4s3mCcRblicqSapxs=";
hash = "sha256-yN4g32Zx73A35yGAA5xnfEu72Nh8yH3KFmFKP5T3Pao=";
};
nativeBuildInputs = [ automake ];

View File

@@ -9,13 +9,13 @@
stdenv.mkDerivation rec {
pname = "liquid-dsp";
version = "1.8.0";
version = "1.8.2";
src = fetchFromGitHub {
owner = "jgaeddert";
repo = "liquid-dsp";
rev = "v${version}";
sha256 = "sha256-IvWtoXuuIvpJfY4cyRUsPHgax2/aytYShSdxEStiPYI=";
sha256 = "sha256-WI0GLU/m3PVm1VjOTyPuKcopauiqdSullDyux9WUyKc=";
};
patches = [
@@ -39,6 +39,9 @@ stdenv.mkDerivation rec {
# Prevent native cpu arch from leaking into binaries.
(lib.cmakeBool "ENABLE_SIMD" false)
(lib.cmakeBool "FIND_SIMD" false)
# Some build info is included as of 1.8.1. Most of these are not a problem
# or handled by the build sandbox but the hostname should be stripped.
(lib.cmakeBool "ENABLE_TIMESTAMPS" false)
];
doCheck = true;

View File

@@ -33,8 +33,7 @@ stdenv.mkDerivation (finalAttrs: {
};
cargoDeps = rustPlatform.fetchCargoVendor {
inherit (finalAttrs) src;
name = "loupe-deps-${finalAttrs.version}";
inherit (finalAttrs) pname version src;
hash = "sha256-I4z5qjX10AUuwk+JdX/1ZU0uCAVPQj8HkEc+n9aMczE=";
};

View File

@@ -7,7 +7,7 @@
}:
buildGoModule (finalAttrs: {
pname = "lstk";
version = "0.20.1";
version = "0.21.0";
__structuredAttrs = true;
@@ -15,7 +15,7 @@ buildGoModule (finalAttrs: {
owner = "localstack";
repo = "lstk";
tag = "v${finalAttrs.version}";
sha256 = "sha256-PL6Xqq1S4RDm0Uj5Am9UiJJJ8Q/nWszuyRXkW+Y9cCE=";
sha256 = "sha256-8OV+VaoVm9hW2kzPggmXHsoYTL9yzFKfVM9DdnAxOCE=";
};
vendorHash = "sha256-WiWMOudPoS3qOMs+m/pz9VYZ9OPRn3IWHxAMC6eBjtg=";

View File

@@ -1,8 +1,9 @@
{
lib,
stdenv,
fetchFromGitHub,
buildNpmPackage,
electron_41,
electron_43,
makeWrapper,
testers,
mattermost-desktop,
@@ -10,21 +11,21 @@
}:
let
electron = electron_41;
electron = electron_43;
in
buildNpmPackage rec {
pname = "mattermost-desktop";
version = "6.2.2";
version = "6.3.0";
src = fetchFromGitHub {
owner = "mattermost";
repo = "desktop";
tag = "v${version}";
hash = "sha256-KSyFJrYy+pueSrX20SPBoudWfiHmy5L2O8TdzLJRiYk=";
hash = "sha256-aDYmnFb0CJDF/M1ca/6YkKTBcTC56+zpe9iqtRR0cpU=";
};
npmDepsHash = "sha256-70TBP4iDKuF4X9Tf0tsbUQ3N7bluoPn65OdfdcWin4Y=";
npmDepsHash = "sha256-nNKfzPKA0kjki169u/qe5r6rrVbVi3+0nkVj6niS+/c=";
npmBuildScript = "build-prod";
makeCacheWritable = true;
@@ -100,6 +101,8 @@ buildNpmPackage rec {
changelog = "https://github.com/mattermost/desktop/releases/tag/${src.tag}";
license = lib.licenses.asl20;
platforms = electron.meta.platforms;
# https://github.com/NixOS/nixpkgs/issues/430763
broken = stdenv.hostPlatform.isDarwin;
maintainers = with lib.maintainers; [
joko
liff

View File

@@ -10,7 +10,7 @@
}:
let
version = "0.12.1";
version = "0.13.0";
# me3 creates a pipe under /tmp needed by the compat tool subprocess
steam-run =
@@ -22,10 +22,10 @@ let
owner = "garyttierney";
repo = "me3";
tag = "v${version}";
sha256 = "sha256-pGK6A85Xp6NbpYRKJTgi47acv4c8dZgb+Jdmeu8F/uU=";
sha256 = "sha256-OgAJGzjt+VDjbyY3uOjX3M5HajXbdoF1YJFAgwiZ03o=";
};
cargoHash = "sha256-ss2NkDHfd5NBLGpnZ80UdvO0nn2mGueO0mnlWkog1jc=";
cargoHash = "sha256-e6tytA15kY58efmG3mIgZpTTa11Ijwl8u+NIBdYmha8=";
me3-cli = rustPlatform.buildRustPackage (final: {
inherit cargoHash version src;

View File

@@ -5,12 +5,18 @@
gobject-introspection,
gst_all_1,
poppler-utils,
python3,
python3Packages,
lndir,
}:
let
python = python3;
pythonPackages = python3Packages.overrideScope (
final: prev: {
paste = prev.paste.override { setuptools = prev.setuptools_80; };
}
);
inherit (pythonPackages.python) sitePackages;
version = "0.15.0";
src = fetchFromSourcehut {
@@ -35,7 +41,7 @@ let
'';
};
in
python.pkgs.buildPythonApplication rec {
pythonPackages.buildPythonApplication rec {
format = "setuptools";
pname = "mediagoblin";
inherit version src;
@@ -53,15 +59,15 @@ python.pkgs.buildPythonApplication rec {
nativeBuildInputs = [
gobject-introspection
python3.pkgs.babel
pythonPackages.babel
lndir
];
build-system = with python.pkgs; [
build-system = with pythonPackages; [
setuptools
];
dependencies = with python.pkgs; [
dependencies = with pythonPackages; [
alembic
babel
bcrypt
@@ -96,7 +102,7 @@ python.pkgs.buildPythonApplication rec {
];
optional-dependencies =
with python.pkgs;
with pythonPackages;
let
# not really documented in python build system
gst = with gst_all_1; [
@@ -123,16 +129,16 @@ python.pkgs.buildPythonApplication rec {
'';
postInstall = ''
lndir -silent ${extlib}/node_modules $out/${python.sitePackages}/mediagoblin/static/extlib/
lndir -silent ${extlib}/node_modules $out/${sitePackages}/mediagoblin/static/extlib/
ln -rs $out/${python.sitePackages}/mediagoblin/static/extlib/jquery/dist/jquery.js $out/${python.sitePackages}/mediagoblin/static/js/extlib/jquery.js
ln -rs $out/${python.sitePackages}/mediagoblin/static/extlib/leaflet/dist/leaflet.css $out/${python.sitePackages}/mediagoblin/static/extlib/leaflet/leaflet.css
ln -rs $out/${python.sitePackages}/mediagoblin/static/extlib/leaflet/dist/leaflet.js $out/${python.sitePackages}/mediagoblin/static/extlib/leaflet/leaflet.js
ln -rs $out/${python.sitePackages}/mediagoblin/static/extlib/leaflet/dist/images/ $out/${python.sitePackages}/mediagoblin/static/extlib/leaflet/
ln -rs $out/${sitePackages}/mediagoblin/static/extlib/jquery/dist/jquery.js $out/${sitePackages}/mediagoblin/static/js/extlib/jquery.js
ln -rs $out/${sitePackages}/mediagoblin/static/extlib/leaflet/dist/leaflet.css $out/${sitePackages}/mediagoblin/static/extlib/leaflet/leaflet.css
ln -rs $out/${sitePackages}/mediagoblin/static/extlib/leaflet/dist/leaflet.js $out/${sitePackages}/mediagoblin/static/extlib/leaflet/leaflet.js
ln -rs $out/${sitePackages}/mediagoblin/static/extlib/leaflet/dist/images/ $out/${sitePackages}/mediagoblin/static/extlib/leaflet/
'';
nativeCheckInputs =
with python.pkgs;
with pythonPackages;
[
pytest-forked
pytest-xdist
@@ -146,7 +152,7 @@ python.pkgs.buildPythonApplication rec {
pythonImportsCheck = [ "mediagoblin" ];
passthru = {
inherit extlib python;
inherit extlib pythonPackages;
};
meta = {

View File

@@ -27,8 +27,7 @@ stdenv.mkDerivation (finalAttrs: {
};
cargoDeps = rustPlatform.fetchCargoVendor {
inherit (finalAttrs) src;
name = "metronome-${finalAttrs.version}";
inherit (finalAttrs) pname version src;
hash = "sha256-T/x5LpODpKWGA40W1je6jw1DS9attVUK4ZjAnRAyf6k=";
};

View File

@@ -2,23 +2,33 @@
lib,
stdenv,
fetchFromGitHub,
zig_0_15,
zig_0_16,
}:
let
zig = zig_0_15;
zig = zig_0_16;
in
stdenv.mkDerivation (finalAttrs: {
pname = "minizign";
version = "0.1.7";
version = "0.1.13";
src = fetchFromGitHub {
owner = "jedisct1";
repo = "zig-minisign";
tag = finalAttrs.version;
hash = "sha256-W1rfIZqEGaBkLE2Goug4ANBWj6mc4hurVhsJ0NWH4nY=";
hash = "sha256-qGOGcpmmPPMN9Tm7k31aBXnbouPWXg69KjZLFLNPldo=";
};
zigDeps = zig.fetchDeps {
inherit (finalAttrs) src pname version;
fetchAll = true;
hash = "sha256-/ylcSBv+oPW+mcWO7ArPAR2rp1GGpmW0ajIlsQWcTJw=";
};
postConfigure = ''
ln -s ${finalAttrs.zigDeps} "$ZIG_GLOBAL_CACHE_DIR/p"
'';
nativeBuildInputs = [
zig
];

View File

@@ -60,7 +60,7 @@ let
in
stdenvNoCC.mkDerivation (finalAttrs: {
pname = "models-dev";
version = "sdk-v0.0.5-unstable-2026-08-11";
version = "sdk-v0.0.5-unstable-2026-08-13";
__structuredAttrs = true;
strictDeps = true;
@@ -68,8 +68,8 @@ stdenvNoCC.mkDerivation (finalAttrs: {
src = fetchFromGitHub {
owner = "anomalyco";
repo = "models.dev";
rev = "4abaeb87f8c672300eb65e050d6ffc41b1d4046b";
hash = "sha256-ttfFpm/0hdBgCS920wf8f4ydW9UGj96SDlrP4WnwZT4=";
rev = "7ac862dc68caf19a58214dc9b0e6463ed641aeb0";
hash = "sha256-bPsBe/qIBRsKijdxqpYMSMG4sjXCkCOCe0IzIvSDo+g=";
};
nativeBuildInputs = [ bun ];

View File

@@ -27,20 +27,20 @@ let
in
stdenv.mkDerivation (finalAttrs: {
pname = "n8n";
version = "2.32.6";
version = "2.33.7";
src = fetchFromGitHub {
owner = "n8n-io";
repo = "n8n";
tag = "n8n@${finalAttrs.version}";
hash = "sha256-wWm6vGyJ2I2SBU38gRGaZG2FR5FBxH6V/sWQwn5B4Ac=";
hash = "sha256-6QysdmXgSxfJpNaL10HogrnNYEyrxZLdkfgBnRiXWX4=";
};
pnpmDeps = fetchPnpmDeps {
inherit (finalAttrs) pname version src;
pnpm = pnpm_10;
fetcherVersion = 4;
hash = "sha256-D8CKJxU2RoMjNrqIgGDE3mFBjc0kqFLQzT/DdUpiNmY=";
hash = "sha256-Ei/8j+KvhZVgqteA+bqNsL11IMGzWn3OHngDpsEH6jk=";
};
nativeBuildInputs = [
@@ -104,8 +104,12 @@ stdenv.mkDerivation (finalAttrs: {
mkdir -p $out/{bin,lib/n8n}
cp -r {packages,node_modules} $out/lib/n8n
# node must be on PATH: in internal runner mode the CLI spawns the
# JS task runner via `spawn('node', ...)`, and since 2.33 a failed
# spawn crashes n8n instead of being silently ignored
makeWrapper $out/lib/n8n/packages/cli/bin/n8n $out/bin/n8n \
--set N8N_RELEASE_TYPE "stable"
--set N8N_RELEASE_TYPE "stable" \
--prefix PATH : ${lib.makeBinPath [ nodejs ]}
# JavaScript runner
makeWrapper ${nodejs}/bin/node $out/bin/n8n-task-runner \

View File

@@ -16,6 +16,9 @@ buildGoModule (finalAttrs: {
pname = "open-policy-agent";
version = "1.16.2";
__structuredAttrs = true;
strictDeps = true;
src = fetchFromGitHub {
owner = "open-policy-agent";
repo = "opa";
@@ -68,6 +71,19 @@ buildGoModule (finalAttrs: {
"TestClientTLSWithCustomCACert"
"TestECR"
"TestManagerWithOPATelemetryUpdateLoop"
# tests observed to have `no space left on device` failures on darwin on hydra
# storage_internal_error:
# cannot create memtable error:
# newMemTable error:
# While opening memtable: /private/tmp/nix-build-open-policy-agent-X.Y.Z.drv-0/opa_test0000000000/data/00001.mem error:
# while opening file: /private/tmp/nix-build-open-policy-agent-X.Y.Z.drv-0/opa_test0000000000/data/00001.mem error:
# truncate /private/tmp/nix-build-open-policy-agent-X.Y.Z.drv-0/opa_test0000000000/data/00001.mem: no space left on device
"TestBundleScope"
"TestDataV1"
"TestDataV1Metrics"
"TestDataMetricsEval"
"TestQueryV1"
]
++ lib.optionals (!enableWasmEval) [
"TestRegoTargetWasmAndTargetPluginDisablesIndexingTopdownStages"

View File

@@ -28,6 +28,28 @@ stdenvNoCC.mkDerivation (finalAttrs: {
patches
;
__structuredAttrs = true;
strictDeps = true;
# The musl prebuilts ship libc.musl-*.so.1 SONAMEs that autoPatchelfHook can't
# resolve on glibc systems. They aren't loaded at runtime on the host libc anyway.
autoPatchelfIgnoreMissingDeps = [ "libc.musl-*.so.*" ];
postPatch =
# The auto-updater would try to download and run an upstream binary that
# isn't patched for Nix. Disable it at source.
''
substituteInPlace packages/desktop/src/main/constants.ts \
--replace-fail 'app.isPackaged && CHANNEL !== "dev"' 'false'
''
+
# Relax Bun version check to be a warning instead of an error
''
substituteInPlace packages/script/src/index.ts \
--replace-fail 'throw new Error(`This script requires bun@''${expectedBunVersionRange}' \
'console.warn(`Warning: This script requires bun@''${expectedBunVersionRange}'
'';
nativeBuildInputs = [
bun
nodejs # for patchShebangs node_modules
@@ -43,13 +65,6 @@ stdenvNoCC.mkDerivation (finalAttrs: {
(lib.getLib stdenv.cc.cc)
];
# The musl prebuilts ship libc.musl-*.so.1 SONAMEs that autoPatchelfHook can't
# resolve on glibc systems. They aren't loaded at runtime on the host libc anyway.
autoPatchelfIgnoreMissingDeps = [ "libc.musl-*.so.*" ];
__structuredAttrs = true;
strictDeps = true;
env = {
ELECTRON_SKIP_BINARY_DOWNLOAD = "1";
NODE_OPTIONS = "--max-old-space-size=4096";
@@ -58,18 +73,6 @@ stdenvNoCC.mkDerivation (finalAttrs: {
OPENCODE_DISABLE_MODELS_FETCH = true;
};
postPatch = ''
# The auto-updater would try to download and run an upstream binary that
# isn't patched for Nix. Disable it at source.
substituteInPlace packages/desktop/src/main/constants.ts \
--replace-fail 'app.isPackaged && CHANNEL !== "dev"' 'false'
# Relax Bun version check to be a warning instead of an error
substituteInPlace packages/script/src/index.ts \
--replace-fail 'throw new Error(`This script requires bun@''${expectedBunVersionRange}' \
'console.warn(`Warning: This script requires bun@''${expectedBunVersionRange}'
'';
configurePhase = ''
runHook preConfigure

View File

@@ -21,6 +21,9 @@ let
pname = "${finalAttrs.pname}-node_modules";
inherit (finalAttrs) version src;
__structuredAttrs = true;
strictDeps = true;
impureEnvVars = lib.fetchers.proxyImpureEnvVars ++ [
"GIT_PROXY_COMMAND"
"SOCKS_SERVER"
@@ -74,14 +77,14 @@ let
# NOTE: Required else we get errors that our fixed-output derivation references store paths
dontFixup = true;
outputHash = "sha256-GBLs3nXtfSeXb4jXxSNM8ElMa/e/EB4sZn3c2inHnco=";
outputHash = "sha256-oU7qWOsY2TtVE+Gp2DhSXffm9OghTHcNhzDwwAovwZI=";
outputHashAlgo = "sha256";
outputHashMode = "recursive";
};
in
stdenv.mkDerivation (finalAttrs: {
pname = "opencode";
version = "1.18.16";
version = "1.18.18";
__structuredAttrs = true;
strictDeps = true;
@@ -90,7 +93,7 @@ stdenv.mkDerivation (finalAttrs: {
owner = "anomalyco";
repo = "opencode";
tag = "v${finalAttrs.version}";
hash = "sha256-AP2W443Zk/X8j6BWfMgAEbR4BQiJgnPpr1OG6JWIprE=";
hash = "sha256-rDVcv8j9KghTDwooPYriTloOMgTyVutud7xKLG2mTmk=";
};
postPatch =

View File

@@ -12,16 +12,16 @@
rustPlatform.buildRustPackage (finalAttrs: {
pname = "oscavmgr";
version = "25.2";
version = "26.8.0";
src = fetchFromGitHub {
owner = "galister";
repo = "oscavmgr";
tag = "v${finalAttrs.version}";
hash = "sha256-592qj0dHn0fbIFt4Y+1TESIOUpwXcJ2tnlKNcYuxriQ=";
hash = "sha256-BYS/1rsXlP67MlkStm45Dm8aZllaVVOmdq8Yf0jB0iM=";
};
cargoHash = "sha256-1/jjZ1jkLvE/L1lHFL3RCx3ox2w15WWDp6aQJOtFkcU=";
cargoHash = "sha256-R8UzXy44fli54zHEIZ+MdpHEggvoD06YXm5gpfMNfK0=";
nativeBuildInputs = [
pkg-config

View File

@@ -27,7 +27,7 @@ stdenv.mkDerivation (finalAttrs: {
any kind of file.
'';
license = lib.licenses.gpl2Plus;
maintainers = [ ];
maintainers = with lib.maintainers; [ tallesCoelho ];
platforms = lib.platforms.all;
};
})

View File

@@ -6,7 +6,7 @@
cubeb,
curl,
kdePackages,
ffmpeg,
ffmpeg_8,
gtk3,
libxrandr,
libaio,
@@ -86,7 +86,7 @@ llvmPackages.stdenv.mkDerivation (finalAttrs: {
buildInputs = [
kdePackages.extra-cmake-modules
curl
ffmpeg
ffmpeg_8
gtk3
libaio
libbacktrace

View File

@@ -29,7 +29,7 @@ stdenv.mkDerivation (finalAttrs: {
};
cargoDeps = rustPlatform.fetchCargoVendor {
inherit (finalAttrs) src;
inherit (finalAttrs) pname version src;
sourceRoot = "pdns-recursor-${finalAttrs.version}/rec-rust-lib/rust";
hash = "sha256-0/HLB9wMVQALga7ZJcPSDczjcBinMwQz2vTPep+x8p8=";
};

View File

@@ -0,0 +1,94 @@
{
lib,
python3Packages,
fetchFromGitHub,
nix-update-script,
wrapGAppsHook4,
gobject-introspection,
gtk4,
libadwaita,
copyDesktopItems,
makeDesktopItem,
}:
python3Packages.buildPythonApplication (finalAttrs: {
pname = "pipewire-control-center";
version = "0.5.0";
pyproject = true;
__structuredAttrs = true;
src = fetchFromGitHub {
owner = "knightinfected";
repo = "PipeWireController";
tag = "v${finalAttrs.version}";
hash = "sha256-18Tbwv4uv75U+l7TQY+6spppB5OkSfHmDn2pSy5EUGM=";
};
build-system = [
python3Packages.hatchling
];
nativeBuildInputs = [
copyDesktopItems
gobject-introspection
wrapGAppsHook4
];
buildInputs = [
gtk4
libadwaita
];
dependencies = with python3Packages; [
numpy
pycairo
pygobject3
soundfile
];
desktopItems = [
(makeDesktopItem {
name = "io.github.knightinfected.PipeWireControlCenter";
desktopName = "PipeWire Controller";
comment = "Configure PipeWire, filter chains and HRIR virtual surround without editing files";
exec = "pipewire-control-center";
icon = "audio-card";
categories = [
"AudioVideo"
"Audio"
"Settings"
];
keywords = [
"pipewire"
"audio"
"surround"
"hrir"
"equalizer"
"filter"
"pwcc"
];
startupWMClass = "io.github.knightinfected.PipeWireControlCenter";
})
];
pythonImportsCheck = [
"pwctl"
];
passthru.updateScript = nix-update-script { };
meta = {
description = "GTK4/libadwaita audio control center for PipeWire";
longDescription = ''
A GUI control center for PipeWire providing audio management, signal paths,
virtual devices, a live patchbay, parametric equalizer, performance monitoring,
filter chains, microphone cleanup (echo/noise reduction), HRIR virtual surround,
routing snapshots, per-app policies, and LADSPA/LV2 effect inserts.
'';
homepage = "https://github.com/knightinfected/PipeWireController";
changelog = "https://github.com/knightinfected/PipeWireController/blob/${finalAttrs.src.rev}/CHANGELOG.md";
license = lib.licenses.gpl3Only;
maintainers = with lib.maintainers; [ arison ];
mainProgram = "pipewire-control-center";
};
})

View File

@@ -18,13 +18,13 @@ in
stdenv.mkDerivation (finalAttrs: {
pname = "plasma-panel-colorizer";
version = "7.2.0";
version = "8.0.0";
src = fetchFromGitHub {
owner = "luisbocanegra";
repo = "plasma-panel-colorizer";
tag = "v${finalAttrs.version}";
hash = "sha256-CRuiHVRCstpD3LtT52Xiu4f2+d0Y4RKKLLt056kqNwg=";
hash = "sha256-SDmwfaP4Qc6OUrPWvzcu9VHNqPrqh9a2qqYk7Yejbkg=";
};
nativeBuildInputs = [

View File

@@ -15,7 +15,7 @@
stdenv.mkDerivation (finalAttrs: {
pname = "proton-pass-cli";
version = "2.3.0";
version = "2.3.1";
__structuredAttrs = true;
strictDeps = true;
@@ -57,15 +57,15 @@ stdenv.mkDerivation (finalAttrs: {
sources = {
"aarch64-darwin" = fetchurl {
url = "https://proton.me/download/pass-cli/${finalAttrs.version}/pass-cli-macos-aarch64";
hash = "sha256-5BtLV41YpvnpB3vqBdnuNhBQPf+M2bAe5LsZNvnBwmg=";
hash = "sha256-NORQQIMCkJVqNEkKIwJPto68cWkcMxaxUX2FIJfJoIw=";
};
"aarch64-linux" = fetchurl {
url = "https://proton.me/download/pass-cli/${finalAttrs.version}/pass-cli-linux-aarch64";
hash = "sha256-rg8HzFxJwipIHcn8cFAEt31oWf0kI0YXJVx/TJDqfPA=";
hash = "sha256-8Er3ZrPLRYP+e5bofQbVFK9i5wEBxPS4NM6IapuhTAU=";
};
"x86_64-linux" = fetchurl {
url = "https://proton.me/download/pass-cli/${finalAttrs.version}/pass-cli-linux-x86_64";
hash = "sha256-tuKIbrIfiTWMH7UPBHpH0TKdUOKc3C6tSHAcYUYruBo=";
hash = "sha256-0WMzZBIZ1sDgpWeZ8ovWbS2McKJbIdUSPz7HqJ8y9Ms=";
};
};
updateScript = writeShellScript "update-proton-pass-cli" ''

View File

@@ -6,7 +6,7 @@
gitUpdater,
cmake,
pkg-config,
ffmpeg,
ffmpeg_8,
libGLU,
alsa-lib,
libx11,
@@ -74,7 +74,7 @@ stdenv.mkDerivation (finalAttrs: {
]);
buildInputs = [
ffmpeg
ffmpeg_8
libGLU
]
++ (with qtPackages; [

View File

@@ -0,0 +1,55 @@
{
lib,
python3Packages,
fetchFromGitHub,
}:
let
inherit (python3Packages)
poetry-core
crcmod
pycrate
pyserial
pyusb
unittestCheckHook
;
in
python3Packages.buildPythonApplication (finalAttrs: {
pname = "qcsuper";
version = "2.1.3";
pyproject = true;
__structuredAttrs = true;
src = fetchFromGitHub {
owner = "P1sec";
repo = "QCSuper";
tag = finalAttrs.version;
hash = "sha256-fsIbtfbFRrUomgUWeFIZnMIJ7XTAa3JLvyuZabfEtb4=";
};
build-system = [ poetry-core ];
dependencies = [
crcmod
pycrate
pyserial
pyusb
];
nativeCheckInputs = [ unittestCheckHook ];
unittestFlags = [
"-s"
"src/qcsuper/tests"
"-v"
];
pythonImportsCheck = [ "qcsuper" ];
meta = {
description = "Tool to communicate with Qualcomm-based phones and modems, allowing to capture raw 2G/3G/4G radio frames";
homepage = "https://github.com/P1sec/QCSuper";
changelog = "https://github.com/P1sec/QCSuper/releases/tag/${finalAttrs.src.tag}";
license = lib.licenses.gpl3Only;
maintainers = with lib.maintainers; [ felbinger ];
};
})

View File

@@ -152,6 +152,12 @@ buildFHSEnv (finalAttrs: {
# SOURCE_DATE_EPOCH code path.
NIXPKGS_QUARTUS_THIS_PROG_SUPPORTS_FIXED_CLOCK=0
;;
niosv/*)
# Both are needed for a functional niosv-bsp and possibly other
# executables.
echo "export QUARTUS_ROOTDIR=${unwrapped}/quartus" >> "$wrapped"
echo "export SOPC_KIT_NIOS2=${unwrapped}/niosv" >> "$wrapped"
;;
esac
# SOURCE_DATE_EPOCH blocklist for programs that are known to hang/break
# with fixed/static clock.

View File

@@ -1,14 +1,4 @@
[
{
"pname": "AgileObjects.NetStandardPolyfills",
"version": "1.6.0",
"hash": "sha256-hC5WLhpWNZrIxdPnK8yQUNfJHSne5JROopCs7JhA2uk="
},
{
"pname": "AgileObjects.ReadableExpressions",
"version": "4.1.3",
"hash": "sha256-Ms116jLkYhnYIFPRUJ4S2Dide+KUWDzS7eYJ48sdqDw="
},
{
"pname": "Autofac",
"version": "9.3.1",
@@ -24,95 +14,10 @@
"version": "4.0.0",
"hash": "sha256-vMw1sKUK4rUW7Csno0h5XVnS7lUkGO1/hLmGqVwSIKM="
},
{
"pname": "AutofacContrib.NSubstitute",
"version": "7.0.0",
"hash": "sha256-T65WDUM7QkU+658wWZ1kh/3hilwyzR05K1cpYgx7BGc="
},
{
"pname": "AutoFixture",
"version": "5.0.0-preview0012",
"hash": "sha256-wVx6zoK5jOL5e2MZftBKuYY2Da1or5Uy1k/PANgCUsk="
},
{
"pname": "AutoFixture.AutoNSubstitute",
"version": "5.0.0-preview0012",
"hash": "sha256-vuCtQanhc/VAWLNczlIBzIY/dUY6UVI3QumO+BMUUs4="
},
{
"pname": "AutoFixture.NUnit4",
"version": "5.0.0-preview0012",
"hash": "sha256-iwEVJWdFXqp55Fgm8PIypNfdJ647VZdYEjvnbDiZ2r8="
},
{
"pname": "AwesomeAssertions",
"version": "9.4.0",
"hash": "sha256-gLWp+EsvjnjOckSklok9c/kQhIViBG/VfUEJTUGWYNI="
},
{
"pname": "AwesomeAssertions.Analyzers",
"version": "9.0.8",
"hash": "sha256-qdYueHz9vSj0GiS4OgaSVPyjdPFcBa4qzd2NDlY98DE="
},
{
"pname": "BouncyCastle.Cryptography",
"version": "2.6.2",
"hash": "sha256-Yjk2+x/RcVeccGOQOQcRKCiYzyx1mlFnhS5auCII+Ms="
},
{
"pname": "Castle.Core",
"version": "5.1.1",
"hash": "sha256-oVkQB+ON7S6Q27OhXrTLaxTL0kWB58HZaFFuiw4iTrE="
},
{
"pname": "CliWrap",
"version": "3.10.2",
"hash": "sha256-PtRWN6tfZ/uT6o1JrLDj624feJgD5iDS4ywsYwEhQ6c="
},
{
"pname": "coverlet.collector",
"version": "10.0.1",
"hash": "sha256-6nZ5qWvy1SPYM9SfYbZEdGGrErdnOPluZXgJJ/hiarw="
},
{
"pname": "Docker.DotNet.Enhanced",
"version": "4.2.0",
"hash": "sha256-e+poxFu+FJwPWuZ1JiiDJjZK+3inIDlIl7obZNGYcB8="
},
{
"pname": "Docker.DotNet.Enhanced.Handler.Abstractions",
"version": "4.2.0",
"hash": "sha256-EsFRWrwvnv8JOK9N3W/kDjzrO1Jh8St8wn2W9UDvh0Y="
},
{
"pname": "Docker.DotNet.Enhanced.LegacyHttp",
"version": "4.2.0",
"hash": "sha256-MptmUR15Soy74NWJC+ZCWTqJxZP/BEHjfZPYTUq5IeE="
},
{
"pname": "Docker.DotNet.Enhanced.NativeHttp",
"version": "4.2.0",
"hash": "sha256-9wMMHwBcSI+pJuB9R1QrtQ1VZOGbASeC1Ouu6nxXum8="
},
{
"pname": "Docker.DotNet.Enhanced.NPipe",
"version": "4.2.0",
"hash": "sha256-MOzo8ySnMneRV+KaeqUC2Hq8NuY2oDqginK6DeI7Zf4="
},
{
"pname": "Docker.DotNet.Enhanced.Unix",
"version": "4.2.0",
"hash": "sha256-zT4wLE8ZtandcwDZcq/VHhwxKAIPKF02EnigW+h/80U="
},
{
"pname": "Docker.DotNet.Enhanced.X509",
"version": "4.2.0",
"hash": "sha256-zqimuvpFBmLh1TUUyVvZmjgCHIQbyb6T1suYArQMaFE="
},
{
"pname": "Fare",
"version": "2.2.1",
"hash": "sha256-k+RPTDQYgDQHu98V5GPqWhttrk8gjqCnG6SxjocAHfY="
"version": "3.10.4",
"hash": "sha256-Imb2SFLSr0QZgM0A1jhtAhqdXU1tAEUd0xkdCMR/gYw="
},
{
"pname": "FluentValidation",
@@ -121,203 +26,108 @@
},
{
"pname": "GitVersion.MsBuild",
"version": "6.7.0",
"hash": "sha256-yUiPTONPgRdES6Bt6VYdGSj9exT6744Za7QeF4v0jW8="
"version": "6.8.2",
"hash": "sha256-sNIM4WyG6dShpE26+AgRoxTc8GpTHqbsKJJEe2UYYi4="
},
{
"pname": "JetBrains.Annotations",
"version": "2026.2.0",
"hash": "sha256-409CskrdaICXUplGs9sNplfTJfYElllVwIQwoDWfdmk="
},
{
"pname": "Microsoft.ApplicationInsights",
"version": "2.23.0",
"hash": "sha256-5sf3bg7CZZjHseK+F3foOchEhmVeioePxMZVvS6Rjb0="
},
{
"pname": "Microsoft.CodeCoverage",
"version": "18.7.0",
"hash": "sha256-QonDzKnOwcYkkVP0T3PT9/QySgUILc/L/bcp6+l+tA8="
},
{
"pname": "Microsoft.Extensions.Configuration",
"version": "10.0.9",
"hash": "sha256-4d8r6Vyune1Qb0kwqzfGPA7BK2nvaiOenTiJedzq6sU="
"version": "10.0.10",
"hash": "sha256-tFaExufNGPFdUTswqkiRVyRS95Q5XG5WLCEoR6oaKfE="
},
{
"pname": "Microsoft.Extensions.Configuration.Abstractions",
"version": "10.0.9",
"hash": "sha256-pliaksEAQdxyPURUVSlXpfF3LzJB93zHaeEDsaF5QJE="
"version": "10.0.10",
"hash": "sha256-Yy3rpOIm1VEPdYTyGeG7S8bNT+ABaSJiYgsVWVeZGtU="
},
{
"pname": "Microsoft.Extensions.Configuration.Binder",
"version": "10.0.9",
"hash": "sha256-ouJa+84H/bfMi67v25hjEWhTIyBHaWTJAoEvArwbrGA="
"version": "10.0.10",
"hash": "sha256-YR977qfNxzna45WOWljFEhezAN8lPr/Eewc3WBUx2ks="
},
{
"pname": "Microsoft.Extensions.DependencyInjection",
"version": "10.0.9",
"hash": "sha256-YIqgDknwTq48X88Imdrfav3tmQ6tZwIOYsLt6dT40M8="
"version": "10.0.10",
"hash": "sha256-SZDbEORdMQa+Zg9F29lP5By7jaT5b9XLj8LAx7j1EZA="
},
{
"pname": "Microsoft.Extensions.DependencyInjection.Abstractions",
"version": "10.0.10",
"hash": "sha256-2r+Qvd0u3zODfQ1NAL+qu+W5XGaqJjm31bG6SGJKZn0="
},
{
"pname": "Microsoft.Extensions.DependencyInjection.Abstractions",
"version": "10.0.9",
"hash": "sha256-YzQpGAsrjLU18s016LmM7DMJKml0MzKl1bPPYJ/erEk="
},
{
"pname": "Microsoft.Extensions.DependencyInjection.Abstractions",
"version": "8.0.2",
"hash": "sha256-UfLfEQAkXxDaVPC7foE/J3FVEXd31Pu6uQIhTic3JgY="
},
{
"pname": "Microsoft.Extensions.DependencyModel",
"version": "8.0.2",
"hash": "sha256-PyuO/MyCR9JtYqpA1l/nXGh+WLKCq34QuAXN9qNza9Q="
},
{
"pname": "Microsoft.Extensions.Diagnostics",
"version": "10.0.9",
"hash": "sha256-nnhs4+Z8gNL89Dttjqt0FR6uWY5U6bQ1dIa0wwMiUno="
"version": "10.0.10",
"hash": "sha256-S//g46+Z9CvyhZuBv0jZwNYRHX1hMPOOhhhimP/RbSo="
},
{
"pname": "Microsoft.Extensions.Diagnostics.Abstractions",
"version": "10.0.9",
"hash": "sha256-OoBCatkSA+QWbMfyFxeuEOIHb04ukPH32gNfCUsar2M="
"version": "10.0.10",
"hash": "sha256-vhV6KFhBBYbgapGanySiHhycnHSVqPqIyng8OxAXiQ8="
},
{
"pname": "Microsoft.Extensions.Http",
"version": "10.0.9",
"hash": "sha256-caid7Mp5UjoLLjpwfKuJq24mVWp+lLm7/l8DezPyNKw="
"version": "10.0.10",
"hash": "sha256-lMiOKGJKlzJ+LNzhafcSkcg8LkCI8ZPnghD9oZW9jgE="
},
{
"pname": "Microsoft.Extensions.Logging",
"version": "10.0.9",
"hash": "sha256-644xYxPB+PtwGUTAKJV9wByXHWFkR5Ol0p08wFQwMm4="
"version": "10.0.10",
"hash": "sha256-Cw8ASciR8mlMNLWJ5Mmn/k6SqLS12lN+G8tyPOq/PtQ="
},
{
"pname": "Microsoft.Extensions.Logging.Abstractions",
"version": "10.0.9",
"hash": "sha256-su2q/OZuG7nB3wnUTVcimy3oHSdetFh4hhmjI3f/ym8="
},
{
"pname": "Microsoft.Extensions.Logging.Abstractions",
"version": "8.0.3",
"hash": "sha256-5MSY1aEwUbRXehSPHYw0cBZyFcUH4jkgabddxhMiu3Q="
"version": "10.0.10",
"hash": "sha256-mcqRSYG3QtBlCAUbx7MmaSvG6KKtAFx+E1Z4dAWoTWY="
},
{
"pname": "Microsoft.Extensions.Options",
"version": "10.0.9",
"hash": "sha256-/fc1g1SDJI81nOZRS7W4LZIAC0ssmasqaWhgJK+9rRs="
"version": "10.0.10",
"hash": "sha256-S4kPHsyGWpCtmdj+S/IUnZOqYAA3RhhZw76WWq6Qswg="
},
{
"pname": "Microsoft.Extensions.Options.ConfigurationExtensions",
"version": "10.0.9",
"hash": "sha256-XVKJrNjPo0hojY5V4xoLxedpvkqtr4GJqkCUhLKSTcQ="
"version": "10.0.10",
"hash": "sha256-0d3y0XN1P8DcWHaGw0Q+lfMYtbgJmk3cW/V4HZgyAio="
},
{
"pname": "Microsoft.Extensions.Primitives",
"version": "10.0.9",
"hash": "sha256-WEPtmlEexm6QSFR4ITlBHuUD5/bqMfecOxFe5hkbAPU="
},
{
"pname": "Microsoft.NET.Test.Sdk",
"version": "18.7.0",
"hash": "sha256-m2cPE5Y7lQz1nmyjlaf4bf9LpABQa24wiga7HPN4LgQ="
"version": "10.0.10",
"hash": "sha256-qOKbxamHl3b+fbpLQs3Ajnga4cz1e50SzQQCrXyo8cc="
},
{
"pname": "Microsoft.NETCore.Platforms",
"version": "1.1.0",
"hash": "sha256-FeM40ktcObQJk4nMYShB61H/E8B7tIKfl9ObJ0IOcCM="
},
{
"pname": "Microsoft.Testing.Extensions.Telemetry",
"version": "2.1.0",
"hash": "sha256-SawLiz1fB3QbkkyEVloEj8UpQTAIZR7U9FZfqwCkGr0="
},
{
"pname": "Microsoft.Testing.Extensions.TrxReport.Abstractions",
"version": "2.1.0",
"hash": "sha256-X54qc4Ey+3hm0e5eCY1R2me8b4zGrWzjesm9fGJWXys="
},
{
"pname": "Microsoft.Testing.Extensions.VSTestBridge",
"version": "2.1.0",
"hash": "sha256-2m14uEmuEELn4Ci/CZNpKjhlnzq9vYvhgeiM03DZj7A="
},
{
"pname": "Microsoft.Testing.Platform",
"version": "2.1.0",
"hash": "sha256-CbR0j0Dh65cMccO7L6ppx4b5iiXjqxjjfC9A85HeLuM="
},
{
"pname": "Microsoft.Testing.Platform.MSBuild",
"version": "2.1.0",
"hash": "sha256-6T2tBSokr5/oiwqKASk18BieKqkIzDbYX32j1Hl1z1g="
},
{
"pname": "Microsoft.TestPlatform.ObjectModel",
"version": "18.0.1",
"hash": "sha256-oJbS7SZ46RzyOQ+gCysW7qJRy7V8RlQVa5d8uajb91M="
},
{
"pname": "Microsoft.TestPlatform.ObjectModel",
"version": "18.7.0",
"hash": "sha256-OJYJt3EhJ60HobDzET31dESe29BtqDd35Xjt8/2BQCQ="
},
{
"pname": "Microsoft.TestPlatform.TestHost",
"version": "18.7.0",
"hash": "sha256-i5XpKR5rgazQ5ZLPGE/F71h0Sp6Ko/ff1NzLo+lsE5M="
},
{
"pname": "NETStandard.Library",
"version": "1.6.1",
"hash": "sha256-iNan1ix7RtncGWC9AjAZ2sk70DoxOsmEOgQ10fXm4Pw="
},
{
"pname": "Newtonsoft.Json",
"version": "13.0.3",
"hash": "sha256-hy/BieY4qxBWVVsDqqOPaLy1QobiIapkbrESm6v2PHc="
},
{
"pname": "NSubstitute",
"version": "5.3.0",
"hash": "sha256-fa6Hn9Qmpia2labWOs1Xp2LnJBOHfrWIwxvqKRRccs0="
},
{
"pname": "NSubstitute.Analyzers.CSharp",
"version": "1.0.17",
"hash": "sha256-HyMhNJMze3ALJbl71pprjuLCqS+KLA/bOeX4Sng/eb4="
},
{
"pname": "NUnit",
"version": "4.6.1",
"hash": "sha256-MLciW0cj9OO3gJ6FjqD/Kpp0S5yPYsTpSWtRTYG0Pvo="
},
{
"pname": "NUnit.Analyzers",
"version": "4.14.0",
"hash": "sha256-WULxpvd/t9VKLwhe4+rRJdS5B3j5xqK1AUxmhkg4SLY="
},
{
"pname": "NUnit3TestAdapter",
"version": "6.2.0",
"hash": "sha256-sKQjvF/qlEgfrCKHt1OzT+QZdtPt4RBBZd2f0oD1ldg="
},
{
"pname": "ReactiveUI.Disposables",
"version": "6.0.0",
"hash": "sha256-WK2rt1PZFW2MAnQpnwjJgt0sC9lGp8UazxGbJLSBSfs="
"version": "7.0.0",
"hash": "sha256-133L7v/HbSx11YGQ2IWxLXdpAr8qXLHJS1L2IgaLh+c="
},
{
"pname": "ReactiveUI.Primitives",
"version": "6.0.0",
"hash": "sha256-b6ByzvvvWhV+BIGRDb9u5t9b9mvRz3memmumQbqtH/A="
"version": "7.0.0",
"hash": "sha256-b/IoCw7UZs9WyZOMHZVvdec3j/za/maytofPfcEeef8="
},
{
"pname": "ReactiveUI.Primitives.Core",
"version": "6.0.0",
"hash": "sha256-bWM5Cp/rIuF9CglPo0dse+9a76lPHhjElO4W/3U4MJI="
"version": "7.0.0",
"hash": "sha256-oRjAbg+IPGJwLkuhO2KZkfAxPW1UhpwHHq5LWtZuvts="
},
{
"pname": "ReferenceTrimmer",
@@ -326,18 +136,18 @@
},
{
"pname": "Refit",
"version": "13.1.0",
"hash": "sha256-usU/SXfobVSWqku+J2KnRv3Zl662j+7BeBPFkIs/Mm0="
"version": "14.0.1",
"hash": "sha256-hp4rh+tRTaLd7XW9IwkkJ0y1oSJc6YkiHSsw2JHH6BQ="
},
{
"pname": "Refit.HttpClientFactory",
"version": "13.1.0",
"hash": "sha256-n07aKFVFSa/dHm/WQuuEsRsBtkCes8APP7aw9MUgQ1k="
"version": "14.0.1",
"hash": "sha256-Wn0b6B8vc/7+042lod5bB59wSHaPOjxn4hs0Yoy6juo="
},
{
"pname": "Refitter.MSBuild",
"version": "2.0.0",
"hash": "sha256-4ysnoFGZh1Hlsst/yfCrVx7MbD0O0cHOaY3fiYNHWTw="
"version": "2.1.2",
"hash": "sha256-5DZVMydPhTQLgcBFtefNdBDZwIqUpUTuB0UQn6wazFM="
},
{
"pname": "Riok.Mapperly",
@@ -346,8 +156,8 @@
},
{
"pname": "Serilog",
"version": "4.3.1",
"hash": "sha256-TY+GaQYnyDfOGl0gi67xDyUMOuV/mjz8BU66/UsmStI="
"version": "4.4.0",
"hash": "sha256-tP4X06ThcDVL6XXtYIhdJyxn4uL9jLL0s3DRO6HNQk8="
},
{
"pname": "Serilog.Expressions",
@@ -364,16 +174,6 @@
"version": "7.0.0",
"hash": "sha256-LxZYUoUPkCjIIVarJilnXnqQiMrFNJtoRilmzTNtUjo="
},
{
"pname": "Serilog.Sinks.TextWriter",
"version": "3.0.0",
"hash": "sha256-25YPNwn29hTaDr2TsXtzxNFg5xijfV/Ggpopua4VyOk="
},
{
"pname": "SharpZipLib",
"version": "1.4.2",
"hash": "sha256-/giVqikworG2XKqfN9uLyjUSXr35zBuZ2FX2r8X/WUY="
},
{
"pname": "Spectre.Console",
"version": "0.55.0",
@@ -394,26 +194,11 @@
"version": "0.55.0",
"hash": "sha256-VJvGl38caKtrLqc1P8HMG8T2Ny2OgEumZzqk2rUcJNw="
},
{
"pname": "Spectre.Console.Testing",
"version": "0.55.0",
"hash": "sha256-Rgro4QZBqQiKHB6LP3H2nII2Tp2Lpp+wNMFoQwQCv+E="
},
{
"pname": "SSH.NET",
"version": "2025.1.0",
"hash": "sha256-vtpvE5B+IxoMkq9CQMehoR5ZRtihaHQ4VyhmkkIjL98="
},
{
"pname": "SuperLinq",
"version": "6.4.1",
"hash": "sha256-YoWyNzcJkfCI3rfpXDzrhab1HThPJweYKbRmuuDVIYY="
},
{
"pname": "System.ComponentModel.Annotations",
"version": "4.4.0",
"hash": "sha256-jiIzWKF1uEjXUTHbiInJXvC6h8ELJK3BJk7yjeS7IbE="
},
{
"pname": "System.Data.HashFunction.Core",
"version": "2.0.0",
@@ -429,11 +214,6 @@
"version": "2.0.0",
"hash": "sha256-Zr9Nu3DNW4SXevkoXsP3/K7cTWuKlEj70WzAX8BFAsY="
},
{
"pname": "System.Diagnostics.EventLog",
"version": "6.0.0",
"hash": "sha256-zUXIQtAFKbiUMKCrXzO4mOTD5EUphZzghBYKXprowSM="
},
{
"pname": "System.Reactive",
"version": "6.1.0",
@@ -451,33 +231,23 @@
},
{
"pname": "TestableIO.System.IO.Abstractions",
"version": "22.1.1",
"hash": "sha256-nBLPa/4R7gHmKltK260ZX6e+aOLlVkw5+2kuhraF2ec="
"version": "22.2.0",
"hash": "sha256-kyoEyF+j/vws2STfSMzHKrqzZJu284lszy0PufOdFBY="
},
{
"pname": "TestableIO.System.IO.Abstractions.Extensions",
"version": "22.0.4",
"hash": "sha256-TD+kvVnbaM2CRBURJd23YQZ3bgVaSxsSIS74RNXFcJA="
},
{
"pname": "TestableIO.System.IO.Abstractions.TestingHelpers",
"version": "22.1.1",
"hash": "sha256-tCAMji9DqF+kbA+ArJn6Lsux2bpvQwBI+d2MvzNVQn4="
},
{
"pname": "TestableIO.System.IO.Abstractions.Wrappers",
"version": "22.1.1",
"hash": "sha256-1dLAGZ6XaKlxWsYljNgEsQXG8ET4mubrYxLBNpdee6I="
"version": "22.2.0",
"hash": "sha256-YUzACGTLDZ8R5S8JoXFYXRtmytFxXE2jFuDHJw5feXw="
},
{
"pname": "Testably.Abstractions.FileSystem.Interface",
"version": "10.1.0",
"hash": "sha256-zS5HAJ+iZbjsiiqPE0+M+0PMGxOH1Bsmm3vdNSKoYPU="
},
{
"pname": "Testcontainers",
"version": "4.12.0",
"hash": "sha256-NM+zFlgQIo0BP5V/WW8gLJ/tcSTZelbbklOZ3llzZ4g="
"version": "10.3.0",
"hash": "sha256-uSzMsiXAKZK6NbwXa59zIbCkfI9qwuWsrm5yoLrheKU="
},
{
"pname": "YamlDotNet",

View File

@@ -9,13 +9,13 @@
}:
buildDotnetModule (finalAttrs: {
pname = "recyclarr";
version = "8.7.0";
version = "8.7.1";
src = fetchFromGitHub {
owner = "recyclarr";
repo = "recyclarr";
tag = "v${finalAttrs.version}";
hash = "sha256-tH76rFsQNPMq5aVJJOrjGAOueTc/jhIE8taUe4aBhg8=";
hash = "sha256-BPU+Kzx7AJRy1aL4QjcUQeLxGpy2lzUF7YoZY/FQEA4=";
};
projectFile = "src/Recyclarr.Cli/Recyclarr.Cli.csproj";

View File

@@ -51,16 +51,16 @@ let
in
rustPlatform.buildRustPackage (finalAttrs: {
pname = "rio";
version = "0.5.10";
version = "0.5.24";
src = fetchFromGitHub {
owner = "raphamorim";
repo = "rio";
tag = "v${finalAttrs.version}";
hash = "sha256-NMbONH9ra+QW8NcdlMhxKtTJv9FCRmJTaJLNdBDxJAI=";
hash = "sha256-71LP6Jy9C+XI0wIiUIuMqcVj3QrPHz1w5oc5JuesNwE=";
};
cargoHash = "sha256-7Yxy6jBUCHnT6ZU6Zkse4WorOuO4Ex0nb+yXu5mhP1g=";
cargoHash = "sha256-7j7h7UEj6lJDct9Q/L7JXQ5xPgSrVpwaN8xOwchCDIo=";
nativeBuildInputs = [
rustPlatform.bindgenHook

View File

@@ -46,13 +46,13 @@ in
stdenv.mkDerivation (finalAttrs: {
pname = "rspamd";
version = "4.1.2";
version = "4.1.4";
src = fetchFromGitHub {
owner = "rspamd";
repo = "rspamd";
tag = finalAttrs.version;
hash = "sha256-LqFLzOcLyZeDT5kRlENmyTzUhyVC0HBhoSKInMFpqZA=";
hash = "sha256-roDYMA8uPytPu50wAJ17zZVWl4KxJWaXO1kVVC3+t8g=";
};
nativeBuildInputs = [

View File

@@ -27,8 +27,7 @@ stdenv.mkDerivation (finalAttrs: {
};
cargoDeps = rustPlatform.fetchCargoVendor {
inherit (finalAttrs) src;
name = "share-preview-${finalAttrs.version}";
inherit (finalAttrs) pname version src;
hash = "sha256-MC5MsoFdeCvF9nIFoYCKoBBpgGysBH36OdmTqbIJt8s=";
};

View File

@@ -24,8 +24,7 @@
}:
let
pname = "sparrow";
version = "2.4.2";
version = "2.5.3";
openjdk = zulu25.override { enableJavaFX = true; };
@@ -36,12 +35,26 @@ let
}
."${stdenvNoCC.hostPlatform.system}";
javaArch =
{
x86_64-linux = "x64";
aarch64-linux = "aarch64";
}
."${stdenvNoCC.hostPlatform.system}";
jnaArch =
{
x86_64-linux = "x86-64";
aarch64-linux = "aarch64";
}
."${stdenvNoCC.hostPlatform.system}";
src = fetchurl {
url = "https://github.com/sparrowwallet/${pname}/releases/download/${version}/sparrowwallet-${version}-${sparrowArch}.tar.gz";
url = "https://github.com/sparrowwallet/sparrow/releases/download/${version}/sparrowwallet-${version}-${sparrowArch}.tar.gz";
hash =
{
x86_64-linux = "sha256-BvtQZ+b+Hj+9eBdLg/KfYUeRQth0LWwwbZUQMfyTayE=";
aarch64-linux = "sha256-SMVO07kuTo1Yfj+8QfPOvkLR4551tQadJPoIMdT9GFE=";
x86_64-linux = "sha256-xRtMh8nYHzjMyb8zSPQZNIbcfQIuKk4izfPW/PLK2zg=";
aarch64-linux = "sha256-Kl4SV5MSIfCszUI2uN9/eLK+25gkSWkRHoSf8X837VM=";
}
."${stdenvNoCC.hostPlatform.system}";
@@ -71,13 +84,13 @@ let
};
manifest = fetchurl {
url = "https://github.com/sparrowwallet/${pname}/releases/download/${version}/${pname}-${version}-manifest.txt";
hash = "sha256-cv/bkUZArASgWjgEphdWc6p8R9uOOkT+Idc53sjEOQ0=";
url = "https://github.com/sparrowwallet/sparrow/releases/download/${version}/sparrow-${version}-manifest.txt";
hash = "sha256-oVR5lJOWHTyEe+fBbxa+ZPh9GERHlZbZMPmaGImmdhg=";
};
manifestSignature = fetchurl {
url = "https://github.com/sparrowwallet/${pname}/releases/download/${version}/${pname}-${version}-manifest.txt.asc";
hash = "sha256-lIamtUX45HVTrUJKbiGsFkRanM17KaZS0NwlTAoptEE=";
url = "https://github.com/sparrowwallet/sparrow/releases/download/${version}/sparrow-${version}-manifest.txt.asc";
hash = "sha256-9ohRv/3rcOr78Mr0Bfny9zn+SqpLFaf0hn9G2LMAc8Q=";
};
publicKey = ./publickey.asc;
@@ -96,11 +109,11 @@ let
--add-opens=javafx.controls/javafx.scene.control.cell=com.sparrowwallet.sparrow
--add-opens=org.controlsfx.controls/impl.org.controlsfx.skin=com.sparrowwallet.sparrow
--add-opens=org.controlsfx.controls/impl.org.controlsfx.skin=javafx.fxml
--add-opens=javafx.graphics/com.sun.javafx.tk=centerdevice.nsmenufx
--add-opens=javafx.graphics/com.sun.javafx.tk.quantum=centerdevice.nsmenufx
--add-opens=javafx.graphics/com.sun.glass.ui=centerdevice.nsmenufx
--add-opens=javafx.controls/com.sun.javafx.scene.control=centerdevice.nsmenufx
--add-opens=javafx.graphics/com.sun.javafx.menu=centerdevice.nsmenufx
--add-opens=javafx.graphics/com.sun.javafx.tk=nsmenufx
--add-opens=javafx.graphics/com.sun.javafx.tk.quantum=nsmenufx
--add-opens=javafx.graphics/com.sun.glass.ui=nsmenufx
--add-opens=javafx.controls/com.sun.javafx.scene.control=nsmenufx
--add-opens=javafx.graphics/com.sun.javafx.menu=nsmenufx
--add-opens=javafx.graphics/com.sun.glass.ui=com.sparrowwallet.sparrow
--add-opens=javafx.graphics/javafx.scene.input=com.sparrowwallet.sparrow
--add-opens=javafx.graphics/com.sun.javafx.application=com.sparrowwallet.sparrow
@@ -117,10 +130,17 @@ let
--add-reads=com.sparrowwallet.merged.module=com.fasterxml.jackson.core
--add-reads=com.sparrowwallet.merged.module=co.nstant.in.cbor
--add-reads=kotlin.stdlib=kotlinx.coroutines.core
--enable-native-access=com.sparrowwallet.drongo
--enable-native-access=com.sparrowwallet.merged.module
--enable-native-access=javafx.graphics
--enable-native-access=com.fazecast.jSerialComm
--enable-native-access=org.usb4java
-m com.sparrowwallet.sparrow
)
XDG_DATA_DIRS=${gsettings-desktop-schemas}/share/gsettings-schemas/${gsettings-desktop-schemas.name}:${gtk3}/share/gsettings-schemas/${gtk3.name}:$XDG_DATA_DIRS ${openjdk}/bin/java ''${params[@]} $@
XDG_DATA_DIRS=${gsettings-desktop-schemas}/share/gsettings-schemas/${gsettings-desktop-schemas.name}:${gtk3}/share/gsettings-schemas/${gtk3.name}:$XDG_DATA_DIRS \
LD_LIBRARY_PATH=@nativeLibs@''${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH} \
${openjdk}/bin/java "''${params[@]}" "$@"
'';
torWrapper = writeScript "tor-wrapper" ''
@@ -159,6 +179,9 @@ let
gnugrep
openjdk
autoPatchelfHook
];
buildInputs = [
(lib.getLib stdenv.cc.cc)
zlib
libusb1
@@ -175,46 +198,62 @@ let
# Delete unneeded native libs.
rm -fR com.sparrowwallet.merged.module/com/sun/jna/freebsd-x86-64
rm -fR com.sparrowwallet.merged.module/com/sun/jna/dragonflybsd-x86-64
rm -fR com.sparrowwallet.merged.module/com/sun/jna/freebsd-aarch64
rm -fR com.sparrowwallet.merged.module/com/sun/jna/freebsd-x86
rm -fR com.sparrowwallet.merged.module/com/sun/jna/linux-arm
rm -fR com.sparrowwallet.merged.module/com/sun/jna/linux-armel
rm -fR com.sparrowwallet.merged.module/com/sun/jna/linux-mips64el
rm -fR com.sparrowwallet.merged.module/com/sun/jna/linux-ppc
rm -fR com.sparrowwallet.merged.module/com/sun/jna/linux-ppc64le
rm -fR com.sparrowwallet.merged.module/com/sun/jna/linux-s390x
rm -fR com.sparrowwallet.merged.module/com/sun/jna/linux-x86
rm -fR com.sparrowwallet.merged.module/com/sun/jna/openbsd-x86-64
rm -fR com.sparrowwallet.merged.module/com/sun/jna/openbsd-x86
rm -fR com.sparrowwallet.merged.module/com/sun/jna/sunos-sparc
rm -fR com.sparrowwallet.merged.module/com/sun/jna/sunos-sparcv9
rm -fR com.sparrowwallet.merged.module/com/sun/jna/sunos-x86-64
rm -fR com.sparrowwallet.merged.module/com/sun/jna/sunos-x86
rm -fR com.github.sarxos.webcam.capture/com/github/sarxos/webcam/ds/buildin/lib/linux_armel
rm -fR com.github.sarxos.webcam.capture/com/github/sarxos/webcam/ds/buildin/lib/linux_armhf
rm -fR com.github.sarxos.webcam.capture/com/github/sarxos/webcam/ds/buildin/lib/linux_x86
rm -fR openpnp.capture.java/darwin-aarch64
rm -fR openpnp.capture.java/darwin-x86-64
rm -fR openpnp.capture.java/win32-x86-64
rm -fR com.nativelibs4java.bridj/org/bridj/lib/linux_arm32_armel
rm -fR com.nativelibs4java.bridj/org/bridj/lib/linux_armel
rm -fR com.nativelibs4java.bridj/org/bridj/lib/linux_armhf
rm -fR com.nativelibs4java.bridj/org/bridj/lib/linux_x86
rm -fR com.nativelibs4java.bridj/org/bridj/lib/sunos_x64
rm -fR com.nativelibs4java.bridj/org/bridj/lib/sunos_x86
rm -fR com.sparrowwallet.merged.module/linux-arm
rm -fR com.sparrowwallet.merged.module/linux-x86
rm -fR com.fazecast.jSerialComm/FreeBSD
rm -fR com.fazecast.jSerialComm/OpenBSD
rm -fR com.fazecast.jSerialComm/Android
rm -fR com.fazecast.jSerialComm/Solaris
rm -R com.sparrowwallet.merged.module/com/sun/jna/win32
rm -R com.fazecast.jSerialComm/FreeBSD
rm -R com.fazecast.jSerialComm/OpenBSD
rm -R com.fazecast.jSerialComm/Android
rm -R com.fazecast.jSerialComm/Solaris
rm -R com.fazecast.jSerialComm/OSX
rm -R com.fazecast.jSerialComm/Windows
rm -R com.fazecast.jSerialComm/Linux/armv5
rm -R com.fazecast.jSerialComm/Linux/armv6hf
rm -R com.fazecast.jSerialComm/Linux/armv7hf
rm -R com.fazecast.jSerialComm/Linux/armv8_32
rm -R com.fazecast.jSerialComm/Linux/ppc64le
rm -R com.fazecast.jSerialComm/Linux/x86
echo "--- Remaining native libraries in modules ---"
find . -name "*.so" -o -name "*.dll" -o -name "*.dylib" -o -name "*.jnilib" -o -name "*.a"
echo "--------------------------------------------"
ls | xargs -d " " -- echo > ../manifest.txt
find . | grep "\.so$" | xargs -- chmod ugo+x
popd
# Provide native libs for LD_LIBRARY_PATH
mkdir native-libs
cp lib/runtime/lib/libargon2.so \
lib/runtime/lib/libbwt_jni.so \
lib/runtime/lib/libopenpnp-capture.so \
lib/runtime/lib/libzbar.so \
native-libs/
chmod ugo+x native-libs/*.so
# secp256k1 explicitly looks in java.home/lib or inside the module jar
mkdir -p modules/com.sparrowwallet.drongo/native/linux/${javaArch}
cp lib/runtime/lib/libsecp256k1.so modules/com.sparrowwallet.drongo/native/linux/${javaArch}/
# JNA extracts from resource path
mkdir -p modules/com.sparrowwallet.merged.module/com/sun/jna/linux-${jnaArch}
cp lib/runtime/lib/libjnidispatch.so modules/com.sparrowwallet.merged.module/com/sun/jna/linux-${jnaArch}/
# hidapi extracts from resource path via JNA
mkdir -p modules/com.sparrowwallet.merged.module/linux-${jnaArch}
cp lib/runtime/lib/libhidapi.so modules/com.sparrowwallet.merged.module/linux-${jnaArch}/
cp lib/runtime/lib/libhidapi-libusb.so modules/com.sparrowwallet.merged.module/linux-${jnaArch}/
# usb4java extracts from resource path
mkdir -p modules/org.usb4java/org/usb4java/linux-${jnaArch}
cp lib/runtime/lib/libusb4java.so modules/org.usb4java/org/usb4java/linux-${jnaArch}/
# jzbar extracts from resource path
mkdir -p modules/io.github.doblon8.jzbar/native/linux/${javaArch}
cp lib/runtime/lib/libzbar.so modules/io.github.doblon8.jzbar/native/linux/${javaArch}/
# openpnp extracts from resource path
mkdir -p modules/io.github.doblon8.openpnp.capture/native/linux/${javaArch}
cp lib/runtime/lib/libopenpnp-capture.so modules/io.github.doblon8.openpnp.capture/native/linux/${javaArch}/
# Replace the embedded Tor binary (which is in a Tar archive)
# with one from Nixpkgs.
gzip -c ${torWrapper} > tor.gz
@@ -225,6 +264,7 @@ let
mkdir -p $out
cp manifest.txt $out/
cp -r modules/ $out/
cp -r native-libs/ $out/
'';
};
in
@@ -278,9 +318,11 @@ stdenvNoCC.mkDerivation rec {
mkdir -p $out/bin $out
ln -s ${sparrow-modules}/modules $out/lib
install -D -m 777 ${launcher} $out/bin/sparrow-desktop
install -D -m 555 ${launcher} $out/bin/sparrow-desktop
substituteAllInPlace $out/bin/sparrow-desktop
substituteInPlace $out/bin/sparrow-desktop --subst-var-by jdkModules ${jdk-modules}
substituteInPlace $out/bin/sparrow-desktop \
--subst-var-by jdkModules ${jdk-modules} \
--subst-var-by nativeLibs ${sparrow-modules}/native-libs
mkdir -p $out/share/icons
ln -s ${sparrow-icons}/hicolor $out/share/icons
@@ -313,6 +355,7 @@ stdenvNoCC.mkDerivation rec {
license = lib.licenses.asl20;
maintainers = with lib.maintainers; [
msgilligan
eymeric
];
platforms = [
"x86_64-linux"

View File

@@ -41,7 +41,7 @@ stdenv.mkDerivation (finalAttrs: {
};
cargoDeps = rustPlatform.fetchCargoVendor {
inherit (finalAttrs) src;
inherit (finalAttrs) pname version src;
hash = "sha256-zA+GEKmg5iV1PaGh0yjNb4h52PH7PwpN53xLV8P9Gac=";
};

View File

@@ -6,14 +6,14 @@
python3.pkgs.buildPythonApplication (finalAttrs: {
pname = "strictdoc";
version = "0.22.0";
version = "0.27.1";
pyproject = true;
src = fetchFromGitHub {
owner = "strictdoc-project";
repo = "strictdoc";
tag = finalAttrs.version;
hash = "sha256-mDsI/pGMIcyfFqX9uWWlg09As+4Mth9WK5xylQvSVGM=";
hash = "sha256-z9e/ZkKeiuNgkn0FoAYX2fxo60TH5hqsLRzpaVvS2u4=";
};
build-system = [
@@ -48,10 +48,12 @@ python3.pkgs.buildPythonApplication (finalAttrs: {
textx
toml
tree-sitter
tree-sitter-grammars.tree-sitter-c
tree-sitter-grammars.tree-sitter-cpp
tree-sitter-grammars.tree-sitter-python
tree-sitter-grammars.tree-sitter-rust
uvicorn
watchdog
webdriver-manager
websockets
xlrd

Some files were not shown because too many files have changed in this diff Show More