Merge master into staging-next

This commit is contained in:
nixpkgs-ci[bot]
2026-09-27 00:28:39 +00:00
committed by GitHub
48 changed files with 762 additions and 134 deletions

View File

@@ -491,7 +491,7 @@ export default async ({ github, context, core, dry }) => {
),
).map((id) => parseInt(id))
prLabels['7.unmaintained'] =
prLabels['7.no default reviewers'] =
user_maintainers.length === 0 &&
team_maintainers.length === 0 &&
owners.length === 0

View File

@@ -98,6 +98,8 @@
- [gocron](https://github.com/flohoss/gocron), a task scheduler with web interface. Available as [services.gocron](#opt-services.gocron.enable).
- [gophernicus](https://github.com/gophernicus/gophernicus), a modern gopher daemon. Available at [services.gophernicus](#opt-services.gophernicus.enable).
- [Unpackerr](https://unpackerr.zip), extracts downloads for Radarr, Sonarr, Lidarr, Readarr, and/or a Watch folder. Available as [services.unpackerr](#opt-services.unpackerr.enable).
- [ioquake3](https://ioquake3.org), a open-source port of the 3D action shooter Quake 3 Arena. Available as [programs.ioquake3](#opt-programs.ioquake3.enable).

View File

@@ -912,6 +912,7 @@
./services/misc/gitolite.nix
./services/misc/gitweb.nix
./services/misc/gollum.nix
./services/misc/gophernicus.nix
./services/misc/gotenberg.nix
./services/misc/gpsd.nix
./services/misc/graphical-desktop.nix

View File

@@ -0,0 +1,229 @@
{
config,
options,
pkgs,
lib,
...
}:
let
cfg = config.services.gophernicus;
opt = options.services.gophernicus;
in
{
options.services.gophernicus = {
enable = lib.mkEnableOption "gophernicus, a modern gopher daemon";
package = lib.mkPackageOption pkgs "gophernicus" { };
domain = lib.mkOption {
type = lib.types.str;
description = "A DNS-resolvable domain pointing to this machine or a reverse proxy redirecting here.";
example = "gopher.example.com";
};
path = lib.mkOption {
type = lib.types.listOf lib.types.package;
description = ''
Packages with content in {file}`/bin` that should be available to gophernicus.
This will be provided as {env}`PATH` to both gophermaps, cgi scripts and filters.
'';
default = with pkgs; [
coreutils
gnused
whoami
bash
php
perl
];
defaultText = lib.literalExpression ''
with pkgs; [
coreutils
gnused
whoami
bash
php
perl
]
'';
};
filters = lib.mkOption {
type = lib.types.attrsOf lib.types.pathInStore;
description = "Executables that should be registered as preprocessing filters.";
default = { };
example = lib.literalExpression ''
{
# Files with the `.txt` extension should be preprocessed with `my-filter`
txt = pkgs.writeShellScript "my-filter" '''
echo "To whom it may concern..."
# First argument is the path of the file being filtered
cat "$1"
echo "Best regards, server owner"
''';
# Files with the `.php` extension should automatically be rendered by php
php = "''${pkgs.php}/bin/php";
}
'';
};
rootDir = lib.mkOption {
type = lib.types.path;
description = ''
The directory which contains the root of your gopher content.
Note that you might want to disable {option}`services.gophernicus.enableDefaultRootIndex` if you are
modifying the contents of your root directory.
'';
default = "/var/lib/gophernicus/gopher";
example = lib.literalExpression ''
pkgs.symlinkJoin {
name = "gophernicus-root-dir";
paths = [
(pkgs.writeTextDir "gophermap" '''
iHello!
1Misc\tmisc
''')
(pkgs.writeTextDir "misc/info.txt" '''
World
''')
];
}
'';
};
enableDefaultRootIndex = lib.mkOption {
type = lib.types.bool;
description = "Whether to enable the example gophermap shipped with gophernicus as the default root index.";
default = true;
example = false;
};
enableUserDirs = lib.mkOption {
type = lib.types.bool;
description = "Whether to host content from {file}`~/public_gopher` in user home directories.";
default = true;
example = false;
};
listenStreams = lib.mkOption {
description = ''
Which sockets to bind to.
See {option}`systemd.sockets.«name».listenStreams`.
'';
type = lib.types.listOf lib.types.str;
default = [ "127.0.0.1:70" ];
example = [ "/run/gophernicus/gophernicus.sock" ];
};
extraArgs = lib.mkOption {
description = ''
Extra commandline arguments to pass to {command}`gophernicus`.
See {manpage}`gophernicus(8)` for available arguments.
'';
type = lib.types.attrsOf lib.types.anything;
default = { };
example = {
u = "gopher_stuff";
w = 80;
np = true;
nx = true;
};
};
};
config = lib.mkIf cfg.enable {
services.gophernicus.path = opt.path.default;
systemd.packages = [ cfg.package ];
systemd.sockets."gophernicus" = {
wantedBy = [ "sockets.target" ];
listenStreams = [ "" ] ++ cfg.listenStreams;
};
systemd.services."gophernicus@" = {
documentation = [ "man:gophernicus(8)" ];
serviceConfig = {
DynamicUser = true;
User = "gophernicus";
Group = "gophernicus";
StateDirectory = [ "gophernicus/gopher" ];
RuntimeDirectory = [ "gophernicus/bin" ];
BindReadOnlyPaths =
let
binDir = pkgs.symlinkJoin {
name = "gophernicus-bin";
paths = cfg.path;
stripPrefix = "/bin";
};
in
[
"${binDir}:/run/gophernicus/bin"
]
++ lib.optionals (cfg.rootDir != opt.rootDir.default) [
"${cfg.rootDir}:/var/lib/gophernicus/gopher"
]
++ lib.optionals cfg.enableDefaultRootIndex [
"${cfg.package}/share/gophernicus/gopher/gophermap:/var/lib/gophernicus/gopher/gophermap"
];
ExecStart =
let
args = lib.cli.toCommandLineShellGNU { } (
{
r = "/var/lib/gophernicus/gopher";
h = cfg.domain;
f = if cfg.filters != { } then pkgs.linkFarm "gophernicus-filters" cfg.filters else null;
nu = !cfg.enableUserDirs;
}
// cfg.extraArgs
);
in
[
""
"${lib.getExe cfg.package} ${args}"
];
PrivateUsers = !cfg.enableUserDirs;
ProtectHome = if cfg.enableUserDirs then "read-only" else true;
ProcSubset = "pid";
ProtectProc = "invisible";
UMask = "0077";
CapabilityBoundingSet = "";
NoNewPrivileges = true;
ProtectSystem = "strict";
PrivateTmp = true;
PrivateDevices = true;
ProtectHostname = true;
ProtectClock = true;
ProtectKernelTunables = true;
ProtectKernelModules = true;
ProtectKernelLogs = true;
ProtectControlGroups = true;
RestrictAddressFamilies = [
"AF_INET"
"AF_INET6"
"AF_UNIX"
];
RestrictNamespaces = true;
LockPersonality = true;
RestrictRealtime = true;
RestrictSUIDSGID = true;
RemoveIPC = true;
PrivateMounts = true;
SystemCallArchitectures = "native";
};
};
};
meta.maintainers = with lib.maintainers; [
felixalbrigtsen
h7x4
];
}

View File

@@ -793,6 +793,7 @@ in
gollum = runTest ./gollum.nix;
gonic = runTest ./gonic.nix;
google-oslogin = runTest ./google-oslogin;
gophernicus = runTest ./gophernicus.nix;
gopro-tool = runTest ./gopro-tool.nix;
goss = runTest ./goss.nix;
gotenberg = runTest ./gotenberg.nix;

117
nixos/tests/gophernicus.nix Normal file
View File

@@ -0,0 +1,117 @@
{ pkgs, lib, ... }:
{
name = "gophernicus";
meta.maintainers = with lib.maintainers; [
felixalbrigtsen
h7x4
];
containers.machine =
{ options, ... }:
{
imports = [ ./common/user-account.nix ];
environment.systemPackages = with pkgs; [
phetch
];
users.users = {
alice.homeMode = "755";
bob.homeMode = "755";
};
services.gophernicus = {
enable = true;
domain = "localhost";
path = options.services.gophernicus.path.default ++ [
(pkgs.writeScriptBin "hello" ''printf "aaaaaaa\n"'')
];
filters = {
txt = pkgs.writeShellScript "gophernicus-test-filter-script" ''
cat "$1"
echo "world"
'';
php = "${pkgs.php}/bin/php";
};
};
};
testScript =
let
alice-hello = pkgs.writeText "gophernicus-test-alice-hello" ''
Hi!
'';
bob-hello = pkgs.writeText "gophernicus-test-bob-hello" ''
Hello!
'';
bob-custom-command = pkgs.writeText "gophernicus-test-bob-custom-command" ''
=hello
'';
bob-php-cgi = pkgs.writeText "gophernicus-test-bob-php-cgi" ''
#!${lib.getExe pkgs.php}
<?php echo "Result: " . (1 + 1); ?>
'';
bob-filtered = pkgs.writeText "gophernicus-test-bob-filtered" ''
hello
'';
bob-php-non-cgi = pkgs.writeText "gophernicus-test-bob-php-non-cgi" ''
<?php echo "Result: " . (1 + 1); ?>
'';
in
''
machine.wait_for_unit("sockets.target")
def phetch_or_fail(path: str) -> str:
result = machine.succeed(f"phetch -r gopher://localhost/{path}")
print("--- RESPONSE ---")
print(result)
print("----------------")
assert "Error:" not in result, "Found error in fetched content"
assert "command not found" not in result, "Found missing command error in fetched content"
return result
with subtest("Fetch root pages"):
content = phetch_or_fail("")
assert "Welcome to Gophernicus!" in content, "Content not rendered properly"
content = phetch_or_fail("/server-status")
assert "Total Accesses" in content, "Content not rendered properly"
content = phetch_or_fail("/caps.txt")
assert "This is an automatically generated caps file." in content, "Content not rendered properly"
machine.succeed("runuser -u alice -- install -Dm755 -d /home/alice/public_gopher")
machine.succeed("runuser -u bob -- install -Dm755 -d /home/bob/public_gopher")
with subtest("Fetch user pages"):
machine.succeed("runuser -u alice -- install -Dm644 '${alice-hello}' /home/alice/public_gopher/hello")
machine.succeed("runuser -u bob -- install -Dm644 '${bob-hello}' /home/bob/public_gopher/world")
phetch_or_fail("1~alice/hello")
phetch_or_fail("1~bob/world")
with subtest("Render gophermap with custom command"):
machine.succeed("runuser -u bob -- install -Dm644 '${bob-custom-command}' /home/bob/public_gopher/custom/gophermap")
content = phetch_or_fail("1~bob/custom")
assert "aaaaaaa" in content, "Content not rendered properly"
with subtest("Render php as cgi"):
machine.succeed("runuser -u bob -- install -Dm755 '${bob-php-cgi}' /home/bob/public_gopher/cgi-bin/php-cgi.php")
content = phetch_or_fail("1~bob/cgi-bin/php-cgi.php")
assert "Result: 2" in content, "Content not rendered properly"
with subtest("Render filters"):
machine.succeed("runuser -u bob -- install -Dm644 '${bob-filtered}' /home/bob/public_gopher/filtered.txt")
content = phetch_or_fail("1~bob/filtered.txt")
assert "hello" in content, "Content not rendered properly"
assert "world" in content, "Content not rendered properly"
machine.succeed("runuser -u bob -- install -Dm644 '${bob-php-non-cgi}' /home/bob/public_gopher/filtered.php")
content = phetch_or_fail("1~bob/filtered.php")
assert "Result: 2" in content, "Content not rendered properly"
'';
}

View File

@@ -27,17 +27,17 @@ in
rustPlatform.buildRustPackage (finalAttrs: {
pname = "bacon";
version = "3.25.0";
version = "3.26.0";
__structuredAttrs = true;
src = fetchFromGitHub {
owner = "Canop";
repo = "bacon";
tag = "v${finalAttrs.version}";
hash = "sha256-+7K8hy6zzLUshLc2I24md5FOYq3lB0ivx1VbCRHIXII=";
hash = "sha256-PFPHGY8akIZntz/LHUyQph6c+YD4OlppAPd3ols8Htg=";
};
cargoHash = "sha256-fAdS77fBUFlSbXu1aw3X3z0ema2FC5fDo8At2GQpGn0=";
cargoHash = "sha256-Sl7122Z8irYPVTGUlkwTyrt/f3ZCPlLJG6GP+C7ENGM=";
buildFeatures = lib.optionals withSound [
"sound"
@@ -52,6 +52,12 @@ rustPlatform.buildRustPackage (finalAttrs: {
buildInputs = lib.optionals withSound soundDependencies;
checkFlags = lib.optionals stdenv.hostPlatform.isDarwin [
# no notification on first save
"--skip=watch::tests::test_watch_file_saved_by_replacement"
"--skip=watch::tests::test_watch_symlinked_file"
];
nativeInstallCheckInputs = [ versionCheckHook ];
doInstallCheck = true;
@@ -81,6 +87,7 @@ rustPlatform.buildRustPackage (finalAttrs: {
license = lib.licenses.agpl3Only;
maintainers = with lib.maintainers; [
FlorianFranzen
GaetanLepage
matthiasbeyer
];
};

View File

@@ -11,13 +11,13 @@
stdenv.mkDerivation (finalAttrs: {
pname = "cockpit-files";
version = "43";
version = "45";
src = fetchFromGitHub {
owner = "cockpit-project";
repo = "cockpit-files";
tag = finalAttrs.version;
hash = "sha256-ex15Bs8hFlNnksTEQC3rxhpiKDpK6bY3r3o5wX9ad44=";
hash = "sha256-+ubt2tROkxpuWMIwUD81EhBJyGfG1+a5QLf3G5P8G9Y=";
fetchSubmodules = true;
postFetch = "cp $out/node_modules/.package-lock.json $out/package-lock.json";

View File

@@ -13,13 +13,13 @@
stdenv.mkDerivation (finalAttrs: {
pname = "cockpit-machines";
version = "355";
version = "357";
src = fetchFromGitHub {
owner = "cockpit-project";
repo = "cockpit-machines";
tag = finalAttrs.version;
hash = "sha256-9NRpo9j0EDTWvJAPuAhr3H6Gigt7MdwYbdXZeGqHVGo=";
hash = "sha256-RuMmBqx+Fm+qHLxFct5Kc2zW98EBHQpK77zvCkAQ+24=";
fetchSubmodules = true;
postFetch = "cp $out/node_modules/.package-lock.json $out/package-lock.json";

View File

@@ -12,13 +12,13 @@
stdenv.mkDerivation (finalAttrs: {
pname = "cockpit-podman";
version = "129";
version = "131";
src = fetchFromGitHub {
owner = "cockpit-project";
repo = "cockpit-podman";
tag = finalAttrs.version;
hash = "sha256-NFEVwDrDgFQphSh7k56wjGsWJslkerJEQ6FFm5xJsfA=";
hash = "sha256-+djsTOaE8tY2pn5O7KWNHdtqEogDEPUETNeWt3bzdhU=";
fetchSubmodules = true;
postFetch = "cp $out/node_modules/.package-lock.json $out/package-lock.json";

View File

@@ -47,13 +47,13 @@
}:
stdenv.mkDerivation (finalAttrs: {
pname = "cockpit";
version = "366";
version = "367";
src = fetchFromGitHub {
owner = "cockpit-project";
repo = "cockpit";
tag = finalAttrs.version;
hash = "sha256-WyV6I8u83ETVLmjJ7Mjh0D1cLY+RQkxGAIMTkRfy3T0=";
hash = "sha256-TWB39cnhU9zgr/FP4FfXEzdMEnjXOs/HamYjSXLVadY=";
fetchSubmodules = true;
};

View File

@@ -2,11 +2,17 @@
lib,
callPackage,
cudaPackages_13,
common-updater-scripts,
fetchFromGitHub,
gnutar,
gzip,
nix-update,
makeBinaryWrapper,
python3,
stdenvNoCC,
withManager ? false,
writeShellApplication,
yq-go,
}:
let
@@ -74,7 +80,7 @@ let
in
stdenvNoCC.mkDerivation (finalAttrs: {
pname = "comfyui";
version = "0.35.0";
version = "0.37.0";
strictDeps = true;
__structuredAttrs = true;
@@ -83,7 +89,7 @@ stdenvNoCC.mkDerivation (finalAttrs: {
owner = "Comfy-Org";
repo = "ComfyUI";
tag = "v${finalAttrs.version}";
hash = "sha256-ffT9euBDsxpmq4wzd9R2QUcCgI/YnfQOsvC5HuAekUM=";
hash = "sha256-hfpoQsu8xzKHCy2Qqw2BMGsorwizJEuhKXWjUUJzTHs=";
};
nativeBuildInputs = [ makeBinaryWrapper ];
@@ -118,6 +124,47 @@ stdenvNoCC.mkDerivation (finalAttrs: {
passthru = {
inherit python pythonEnv;
updateScript = lib.getExe (writeShellApplication {
name = "update-comfyui";
runtimeInputs = [
common-updater-scripts
gnutar
gzip
nix-update
yq-go
];
text = ''
nix-update comfyui
src=$(nix-build --no-out-link -A comfyui.src)
while IFS= read -r requirement; do
if [[ $requirement =~ ^comfy.+==.+ ]]; then
pkg=''${requirement%%==*}
version=''${requirement##*==}
nix-update "python3Packages.$pkg" --version "$version"
if [[ $pkg == comfyui-workflow-templates ]]; then
wtSrc=$(nix-build --no-out-link -A python3Packages.comfyui-workflow-templates.src)
while IFS= read -r subRequirement; do
if [[ $subRequirement =~ ^comfyui-workflow-templates-.+==.+ ]]; then
subPkg=''${subRequirement%%==*}
subVersion=''${subRequirement##*==}
nix-update "python3Packages.$subPkg" --version "$subVersion"
fi
done < <(
tar --extract --gzip --to-stdout --file="$wtSrc" --strip-components=1 --wildcards '*/pyproject.toml' \
| yq --input-format toml --output-format yaml '.project.dependencies[]'
)
fi
fi
done < "$src/requirements.txt"
'';
});
}
// lib.optionalAttrs (!withManager) {
tests.withManager = callPackage ./package.nix {
@@ -135,6 +182,6 @@ stdenvNoCC.mkDerivation (finalAttrs: {
caniko
SuperSandro2000
];
platforms = lib.platforms.linux;
platforms = lib.platforms.linux ++ lib.platforms.darwin;
};
})

View File

@@ -0,0 +1,34 @@
{
lib,
stdenv,
fetchFromGitHub,
autoreconfHook,
}:
stdenv.mkDerivation {
pname = "farmhash";
version = "1.1.0-unstable-2019-05-13";
src = fetchFromGitHub {
owner = "google";
repo = "farmhash";
rev = "0d859a811870d10f53a594927d0d0b97573ad06d";
hash = "sha256-J0AhHVOvPFT2SqvQ+evFiBoVfdHthZSBXzAhUepARfA=";
};
strictDeps = true;
__structuredAttrs = true;
nativeBuildInputs = [ autoreconfHook ];
configureFlags = [ "--enable-shared" ];
env.CXXFLAGS = "-std=c++14";
doCheck = true;
meta = {
description = "Family of hash functions from Google";
homepage = "https://github.com/google/farmhash";
license = lib.licenses.mit;
platforms = lib.platforms.linux;
};
}

View File

@@ -0,0 +1,124 @@
{
lib,
stdenv,
buildPackages,
fetchFromGitHub,
gnused,
systemdMinimal,
systemdSupport ? lib.meta.availableOn stdenv.hostPlatform systemdMinimal,
xinetd,
xinetdSupport ? lib.meta.availableOn stdenv.hostPlatform xinetd,
versionCheckHook,
nix-update-script,
nixosTests,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "gophernicus";
version = "3.1.1";
src = fetchFromGitHub {
owner = "gophernicus";
repo = "gophernicus";
tag = finalAttrs.version;
hash = "sha256-pweiUiMmLXiyF9NMxvcWfJPH6JiGRlpT4chJiRGh9vg=";
};
postPatch = ''
substituteInPlace README.md \
--replace-warn 'DEVEL' '${finalAttrs.version}'
substituteInPlace src/gophernicus.h \
--replace-fail 'SAFE_PATH "/usr/bin:/bin"' 'SAFE_PATH "/usr/bin:/bin:/run/gophernicus/bin"'
substituteInPlace init/gophernicus.xinetd.in \
--replace-fail ' -h@HOSTNAME@' '''
substituteInPlace init/gophernicus.env.in \
--replace-fail '-h @HOSTNAME@ ' '''
substituteInPlace init/org.gophernicus.server.plist.in \
--replace-fail '${"\t\t"}<string>-h@HOSTNAME@</string>${"\n"}' ''' \
--replace-fail '/usr/local/sbin' '${placeholder "out"}/sbin'
substituteInPlace init/gophernicus@.service.in \
--replace-fail 'User=nobody' '''
substituteInPlace Makefile.in \
--replace-fail \
'$(INSTALL) -s' \
'$(INSTALL) -s --strip-program=${stdenv.cc.targetPrefix}strip' \
--replace-fail \
'$(INSTALL) -m 644 init/$(PLIST) $(DESTDIR)$(LAUNCHD)' \
'$(INSTALL) -Dm 644 -t $(DESTDIR)$(LAUNCHD) init/$(PLIST)'
sed -E -i '/^\s+(chown|chmod)/d' Makefile.in
'';
configurePlatforms = [ ];
dontAddStaticConfigureFlags = true;
configureFlags = [
"--prefix=/"
"--gopherroot=/share/gophernicus/gopher"
"--os=${
if stdenv.hostPlatform.isDarwin then
"mac"
else if stdenv.hostPlatform.isLinux then
"linux"
else if stdenv.hostPlatform.isBSD then
"freebsd"
else
"autodetected"
}"
]
++ lib.optionals systemdSupport [
"--listener=systemd"
]
++ lib.optionals xinetdSupport [
"--listener=xinetd"
]
++ lib.optionals stdenv.hostPlatform.isDarwin [
"--listener=mac"
];
env = lib.optionalAttrs (!stdenv.buildPlatform.canExecute stdenv.hostPlatform) {
HOSTCC = "${buildPackages.stdenv.cc}/bin/cc";
CC = "${stdenv.cc.targetPrefix}cc";
};
makeFlags = [
"DESTDIR=${placeholder "out"}"
];
strictDeps = true;
__structuredAttrs = true;
installTargets = [
"install"
]
++ lib.optionals systemdSupport [
"install-systemd"
];
doInstallCheck = true;
nativeInstallCheckInputs = [ versionCheckHook ];
versionCheckProgramArg = "-v";
passthru = {
updateScript = nix-update-script { };
tests.nixos = nixosTests.gophernicus;
};
meta = {
description = "Modern full-featured (and hopefully) secure gopher daemon";
homepage = "https://gophernicus.org/";
changelog = "https://github.com/gophernicus/gophernicus/blob/${finalAttrs.src.tag}/changelog";
license = lib.licenses.bsd2;
platforms = lib.platforms.unix;
maintainers = with lib.maintainers; [
felixalbrigtsen
h7x4
];
mainProgram = "gophernicus";
};
})

View File

@@ -34,12 +34,12 @@
stdenv.mkDerivation (finalAttrs: {
pname = "gpu-screen-recorder-ui";
version = "1.13.9";
version = "1.13.10";
src = fetchgit {
url = "https://repo.dec05eba.com/gpu-screen-recorder-ui";
tag = finalAttrs.version;
hash = "sha256-f4jTv3IS73NWStg1af20pGKlqwIN9K9ZyLjKUX9Tp3s=";
hash = "sha256-mH/xSdsDHwokemGq2h/qaf/ImN3xlrZupcK+5ptXOns=";
};
nativeBuildInputs = [

View File

@@ -153,7 +153,7 @@ stdenv.mkDerivation (finalAttrs: {
description =
"Virtual Filesystem support library" + lib.optionalString gnomeSupport " (full GNOME support)";
license = lib.licenses.lgpl2Plus;
platforms = lib.platforms.unix;
platforms = lib.platforms.linux;
teams = [ lib.teams.gnome ];
};
})

View File

@@ -8,18 +8,18 @@
rustPlatform.buildRustPackage (finalAttrs: {
pname = "meilisearch";
version = "1.53.2";
version = "1.54.0";
src = fetchFromGitHub {
owner = "meilisearch";
repo = "meilisearch";
tag = "v${finalAttrs.version}";
hash = "sha256-bbVuB8brplUAqKrmTBah4HKbmshv0n5Hn2v9hUnY62c=";
hash = "sha256-GFVMplrViua0dQyMC6qq4/uk0HJaQZ2HLP5zooYdhyI=";
};
cargoBuildFlags = [ "--package=meilisearch" ];
cargoHash = "sha256-ojRJPL3EHyGmWHcX5SLv11fkP1pUNKrYkd82GEC4zKE=";
cargoHash = "sha256-OddLDA+jyIFUnP8XNnh3oFTVmop3IKGn9UpfYD48jWE=";
# Default features include mini dashboard which downloads something from the internet.
buildNoDefaultFeatures = true;

View File

@@ -164,11 +164,11 @@ let
in
stdenvNoCC.mkDerivation (finalAttrs: {
pname = "microsoft-edge";
version = "153.0.4234.48";
version = "154.0.4258.37";
src = fetchurl {
url = "https://packages.microsoft.com/repos/edge/pool/main/m/microsoft-edge-stable/microsoft-edge-stable_${finalAttrs.version}-1_amd64.deb";
hash = "sha256-JVNZQo8F9xzWNpKmJlwOKnRf/wiuDkJh+c/tUdgIEC8=";
hash = "sha256-xvopdHM5kTIbRsQGS3hc3sWhTYzd0YK8X9oFfjfnYD0=";
};
# With strictDeps on, some shebangs were not being patched correctly

View File

@@ -12,11 +12,11 @@
stdenvNoCC.mkDerivation (finalAttrs: {
pname = "msedgedriver";
version = "153.0.4234.48";
version = "154.0.4258.37";
src = fetchzip {
url = "https://msedgedriver.microsoft.com/${finalAttrs.version}/edgedriver_linux64.zip";
hash = "sha256-5gCrPPjYC/AmsO5vSNTX/r3hm6wATvNeIxRt4TYyZhY=";
hash = "sha256-XbOQl9FyckF3Qybb+40474ImJDKahBkekPoydf/TxV0=";
stripRoot = false;
};

View File

@@ -43,13 +43,13 @@
stdenv.mkDerivation (finalAttrs: {
pname = "odamex";
version = "12.2.0";
version = "12.3.0";
src = fetchFromGitHub {
owner = "odamex";
repo = "odamex";
tag = finalAttrs.version;
hash = "sha256-cRQtY4C0gjzheE4cG8aPjzAoPf/Hm05a6tidsbce7uM=";
hash = "sha256-JT8flyIEHfCejJnRd+bpUGKNAM746i51EuTItLho5WE=";
fetchSubmodules = true;
};

View File

@@ -7,14 +7,14 @@
python3.pkgs.buildPythonApplication {
pname = "renode-dts2repl";
version = "0-unstable-2026-09-11";
version = "0-unstable-2026-09-25";
pyproject = true;
src = fetchFromGitHub {
owner = "antmicro";
repo = "dts2repl";
rev = "a27a69b89dbf3a99fd233f2c5671e8c76f648557";
hash = "sha256-J0IwXJr88mx2R7m9VsvvOAJPDO4b+HEe7SRS5Oi2TCU=";
rev = "75f2fce6c6d5829feaf14b11c1f39a0c95c4a62a";
hash = "sha256-fHDB9ZcHPAj6AMZqEMY3H84GChzGkpnM3h8H7g3/lUY=";
};
nativeBuildInputs = [

View File

@@ -9,13 +9,13 @@
buildGoModule (finalAttrs: {
pname = "revive";
version = "1.16.0";
version = "1.17.0";
src = fetchFromGitHub {
owner = "mgechev";
repo = "revive";
tag = "v${finalAttrs.version}";
hash = "sha256-7uYNDIhl7iyI2cko+KqGBgL24b8mjNnjt2tZP77nNmg=";
hash = "sha256-RbWpGQ5rGkp2yBZ42if3hYyelWEZg+hlelw3WQ1VFRg=";
postFetch = ''
# The repository currently has a 'v1' and 'V1' directory.
@@ -24,7 +24,7 @@ buildGoModule (finalAttrs: {
'';
};
vendorHash = "sha256-2JYqTgJy97qUgwLxhtluapWArH28wd+XnJsl9iFtddk=";
vendorHash = "sha256-467AG0QMO565IBaUyZnqpUbLW6/J87x2b7zfbWqHecM=";
# Only build the revive package at the root.
subPackages = [ "." ];

View File

@@ -13,14 +13,14 @@ in
python.pkgs.toPythonModule (
python.pkgs.buildPythonApplication rec {
pname = "searxng";
version = "0-unstable-2026-09-12";
version = "0-unstable-2026-09-22";
pyproject = true;
src = fetchFromGitHub {
owner = "searxng";
repo = "searxng";
rev = "d4f00d15d4c2b8260124a9039b80bc9c1c26499b";
hash = "sha256-N5sCetc2JEnKl9eZn2HtJ4QP3TAH9h75/lmqqSWpPSg=";
rev = "2ed96e6fcfc96ca1045155fc52a12f5f7b070417";
hash = "sha256-CdOV77x0SHrdUZYS/c7RXDI4cQ1sh+eqlKNbgl2Ci6Q=";
};
nativeBuildInputs = with python.pkgs; [ pythonRelaxDepsHook ];

View File

@@ -20,14 +20,14 @@
}:
rustPlatform.buildRustPackage (finalAttrs: {
pname = "slint-viewer";
version = "1.18.0";
version = "1.18.1";
src = fetchCrate {
inherit (finalAttrs) pname version;
hash = "sha256-lCDhKt1lKZnzKuOuusbWYqwLBH8NJ8sF/UaDk7gjfLc=";
hash = "sha256-MlYBkJl8MupzpTfyjmlLlfpYqFWHg3lll7x87leB5iY=";
};
cargoHash = "sha256-vp8hJuskBxeyZ2vxoKe73kEI8TR13ooNwqP7gw19yo4=";
cargoHash = "sha256-qEXy0uaQFY5fu5Gtpsk+7oW6jtFTK4N/y4aK8ruplI8=";
buildInputs = [
qt6.qtbase

View File

@@ -6,6 +6,7 @@
cmake,
cpuinfo,
eigen,
farmhash,
fetchFromGitHub,
fp16,
lib,
@@ -13,15 +14,6 @@
}:
let
# https://github.com/coqui-ai/tensorflow/blob/f8242ebc005f6195b67d58349724e608d4fe45da/tensorflow/lite/tools/cmake/modules/farmhash.cmake#L22
farmhash = fetchFromGitHub {
name = "farmhash-source";
owner = "google";
repo = "farmhash";
rev = "0d859a811870d10f53a594927d0d0b97573ad06d";
hash = "sha256-J0AhHVOvPFT2SqvQ+evFiBoVfdHthZSBXzAhUepARfA=";
};
# https://github.com/coqui-ai/tensorflow/blob/f8242ebc005f6195b67d58349724e608d4fe45da/tensorflow/lite/tools/cmake/modules/fft2d.cmake#L22
fft2d = fetchFromGitHub {
name = "fft2d-source";
@@ -118,7 +110,7 @@ stdenv.mkDerivation {
(lib.cmakeFeature "FETCHCONTENT_SOURCE_DIR_CLOG" "${cpuinfo.src}")
(lib.cmakeFeature "FETCHCONTENT_SOURCE_DIR_CPUINFO" "${cpuinfo.src}")
(lib.cmakeFeature "FETCHCONTENT_SOURCE_DIR_EIGEN" "/build/eigen")
(lib.cmakeFeature "FETCHCONTENT_SOURCE_DIR_FARMHASH" "${farmhash}")
(lib.cmakeFeature "FETCHCONTENT_SOURCE_DIR_FARMHASH" "${farmhash.src}")
(lib.cmakeFeature "FETCHCONTENT_SOURCE_DIR_FFT2D" "${fft2d}")
(lib.cmakeFeature "FETCHCONTENT_SOURCE_DIR_FLATBUFFERS" "${flatbuffers}")
(lib.cmakeFeature "FETCHCONTENT_SOURCE_DIR_GEMMLOWP" "${gemmlowp}")

View File

@@ -1,8 +1,8 @@
[
{
"pname": "BouncyCastle.Cryptography",
"version": "2.6.2",
"hash": "sha256-Yjk2+x/RcVeccGOQOQcRKCiYzyx1mlFnhS5auCII+Ms="
"version": "2.7.0",
"hash": "sha256-8JH/zKtNA5k+Zgus4ndlmnne4JcvVNfx9L1G1oCWYkE="
},
{
"pname": "Microsoft.Win32.SystemEvents",

View File

@@ -6,7 +6,7 @@
}:
buildDotnetModule (finalAttrs: {
pname = "technitium-dns-server-library";
version = "15.4.0";
version = "15.5.1";
__structuredAttrs = true;
@@ -14,7 +14,7 @@ buildDotnetModule (finalAttrs: {
owner = "TechnitiumSoftware";
repo = "TechnitiumLibrary";
tag = "dns-server-v${finalAttrs.version}";
hash = "sha256-h6EXPJTlYatT5IiFrIsZC/LJ5exzAAU8H4DZCimkn7Q=";
hash = "sha256-GkHHAXfmT1MUSIG8zsPHBxtpKVSV7KMONLHy00lk10Y=";
};
dotnet-sdk = dotnetCorePackages.sdk_10_0;

View File

@@ -1,43 +1,58 @@
[
{
"pname": "BouncyCastle.Cryptography",
"version": "2.6.2",
"hash": "sha256-Yjk2+x/RcVeccGOQOQcRKCiYzyx1mlFnhS5auCII+Ms="
"version": "2.7.0",
"hash": "sha256-8JH/zKtNA5k+Zgus4ndlmnne4JcvVNfx9L1G1oCWYkE="
},
{
"pname": "Microsoft.AspNetCore.Authentication.OpenIdConnect",
"version": "10.0.9",
"hash": "sha256-+fRq6oetJlK32C2R/nRBThcO+S6HTX6AIcfg12keAxU="
"version": "10.0.12",
"hash": "sha256-W3pYq6kIZR6brxV8cWBsgD+lyzVstN0vQ1579WC6Xd4="
},
{
"pname": "Microsoft.Bcl.Cryptography",
"version": "10.0.2",
"hash": "sha256-+OYtcWsd1qZcEXadYeA4t6+pyADg1APQCxpKUtP002M="
},
{
"pname": "Microsoft.Extensions.DependencyInjection.Abstractions",
"version": "8.0.0",
"hash": "sha256-75KzEGWjbRELczJpCiJub+ltNUMMbz5A/1KQU+5dgP8="
},
{
"pname": "Microsoft.Extensions.Logging.Abstractions",
"version": "8.0.0",
"hash": "sha256-Jmddjeg8U5S+iBTwRlVAVLeIHxc4yrrNgqVMOB7EjM4="
},
{
"pname": "Microsoft.IdentityModel.Abstractions",
"version": "8.0.1",
"hash": "sha256-zPWUKTCfGm4MWcYPU037NzezsFE1g8tEijjQkw5iooI="
"version": "8.19.2",
"hash": "sha256-vNGK6u6V+S0MIaYTg+sSkRF4XUjM1K+cKuR1a9aRCLs="
},
{
"pname": "Microsoft.IdentityModel.JsonWebTokens",
"version": "8.0.1",
"hash": "sha256-Xv9MUnjb66U3xeR9drOcSX5n2DjOCIJZPMNSKjWHo9Y="
"version": "8.19.2",
"hash": "sha256-j9ai0NrgytDsfQiIijp1Ib4jRGX9lgREQBoE6XW9SOc="
},
{
"pname": "Microsoft.IdentityModel.Logging",
"version": "8.0.1",
"hash": "sha256-FfwrH/2eLT521Kqw+RBIoVfzlTNyYMqlWP3z+T6Wy2Y="
"version": "8.19.2",
"hash": "sha256-ja8PAYUNwlfIrkL6EOuZ7SgZfRJwIORGG/ETDD1BtRE="
},
{
"pname": "Microsoft.IdentityModel.Protocols",
"version": "8.0.1",
"hash": "sha256-v3DIpG6yfIToZBpHOjtQHRo2BhXGDoE70EVs6kBtrRg="
"version": "8.19.2",
"hash": "sha256-soADEUQsOp1Hytt1qLo+jOOeq7uy7I7tUOWogXeQXFY="
},
{
"pname": "Microsoft.IdentityModel.Protocols.OpenIdConnect",
"version": "8.0.1",
"hash": "sha256-ZHKaZxqESk+OU1SFTFGxvZ71zbdgWqv1L6ET9+fdXX0="
"version": "8.19.2",
"hash": "sha256-uSrN5xlG+SXlxg4NACFU2FSlC3V3hYojdhU8lUc687o="
},
{
"pname": "Microsoft.IdentityModel.Tokens",
"version": "8.0.1",
"hash": "sha256-beVbbVQy874HlXkTKarPTT5/r7XR1NGHA/50ywWp7YA="
"version": "8.19.2",
"hash": "sha256-POi3SzcK3+iB3104wXYh3ooVD1GbltwTUf+KMj//UYU="
},
{
"pname": "Microsoft.Win32.SystemEvents",
@@ -49,6 +64,11 @@
"version": "1.8.0",
"hash": "sha256-UvOeFFxUZ/bddmDs6IamiYGDIfgxybE/CSpPyy5DMxI="
},
{
"pname": "System.DirectoryServices.Protocols",
"version": "10.0.12",
"hash": "sha256-tpYNScocWAml3NqO4hHvpJr3ULd2rdHxijTcVDIxiEo="
},
{
"pname": "System.Drawing.Common",
"version": "6.0.0",
@@ -56,7 +76,7 @@
},
{
"pname": "System.IdentityModel.Tokens.Jwt",
"version": "8.0.1",
"hash": "sha256-hW4f9zWs0afxPbcMqCA/FAGvBZbBFSkugIOurswomHg="
"version": "8.19.2",
"hash": "sha256-kEqfEiWkotfDUDphn0MsMqhOc82qQLXlbo5XYg58/io="
}
]

View File

@@ -9,7 +9,7 @@
}:
buildDotnetModule (finalAttrs: {
pname = "technitium-dns-server";
version = "15.4.0";
version = "15.5.1";
__structuredAttrs = true;
@@ -17,7 +17,7 @@ buildDotnetModule (finalAttrs: {
owner = "TechnitiumSoftware";
repo = "DnsServer";
tag = "v${finalAttrs.version}";
hash = "sha256-EPqaVulPO5giURtlmj4vMDXYFKICrhJa9TQbQ9AaYJ8=";
hash = "sha256-h6GhWVqv+SRpJberH/xJ2bny1j+RFM7FI1E+LxuhLOw=";
};
dotnet-sdk = dotnetCorePackages.sdk_10_0;

View File

@@ -6,6 +6,7 @@
installShellFiles,
pkg-config,
curl,
libssh2,
openssl,
writableTmpDirAsHomeHook,
versionCheckHook,
@@ -38,6 +39,7 @@ rustPlatform.buildRustPackage (finalAttrs: {
cargoHash = "sha256-rCK7FyAUIjUq6dxEw9YBaGm29xYvlYjX0b1xHU03XVU=";
env.LIBSSH2_SYS_USE_PKG_CONFIG = 1;
env.OPENSSL_NO_VENDOR = 1;
nativeBuildInputs = [
@@ -48,6 +50,7 @@ rustPlatform.buildRustPackage (finalAttrs: {
buildInputs = [
curl
libssh2
openssl
];

View File

@@ -6,6 +6,7 @@
fetchFromGitHub,
setuptools,
setuptools-scm,
stdenv,
comfyui,
}:
@@ -21,14 +22,16 @@ let
in
buildPythonPackage (finalAttrs: {
pname = "comfy-aimdo";
version = "0.5.3";
version = "0.5.5";
pyproject = true;
# nixpkgs-update: no auto update
# updated via comfyui
src = fetchFromGitHub {
owner = "Comfy-Org";
repo = "comfy-aimdo";
tag = "v${finalAttrs.version}";
hash = "sha256-oHK1+kwPbfhCS5WBo2qCvCWH+t6B6MKvevpcsD9JflE=";
hash = "sha256-f5r2UgkWU49Y/sc9MBwlrmzaY3w4wcHJ0HgcFoVe3QY=";
};
postPatch = ''
@@ -58,7 +61,9 @@ buildPythonPackage (finalAttrs: {
setuptools-scm
];
preBuild = ''
# The native library is Linux/Windows only; on other platforms the Python
# module is still importable and ComfyUI falls back to its legacy offloader.
preBuild = lib.optionalString stdenv.hostPlatform.isLinux ''
./scripts/build-linux-aimdo.sh
'';
@@ -71,7 +76,7 @@ buildPythonPackage (finalAttrs: {
description = "AI model dynamic offloader for ComfyUI";
homepage = "https://github.com/Comfy-Org/comfy-aimdo";
license = lib.licenses.gpl3Only;
platforms = lib.platforms.linux;
platforms = lib.platforms.linux ++ lib.platforms.darwin;
inherit (comfyui.meta) maintainers;
};
})

View File

@@ -1,5 +1,6 @@
{
lib,
angle,
buildPythonPackage,
fetchFromGitHub,
libGL,
@@ -20,10 +21,15 @@ buildPythonPackage (finalAttrs: {
hash = "sha256-FnS2aQmPb5a3dO9m5McpO5Kfyy1aOaboc+oAtYqauQo=";
};
postPatch = ''
mkdir -p comfy_angle/libs
ln -s ${lib.getLib libGL}/lib/{libEGL,libGLESv2}${stdenv.hostPlatform.extensions.sharedLibrary} comfy_angle/libs/
'';
# Upstream wheels bundle ANGLE on macOS; on Linux the system libGL provides EGL
postPatch =
let
egl = if stdenv.hostPlatform.isDarwin then angle else lib.getLib libGL;
in
''
mkdir -p comfy_angle/libs
ln -s ${egl}/lib/{libEGL,libGLESv2}${stdenv.hostPlatform.extensions.sharedLibrary} comfy_angle/libs/
'';
build-system = [
setuptools
@@ -38,7 +44,7 @@ buildPythonPackage (finalAttrs: {
description = "Redistributable ANGLE libraries";
homepage = "https://github.com/Comfy-Org/comfy-angle";
license = lib.licenses.bsd3;
platforms = lib.platforms.linux;
platforms = lib.platforms.linux ++ lib.platforms.darwin;
inherit (comfyui.meta) maintainers;
};
})

View File

@@ -17,15 +17,17 @@ let
in
buildPythonPackage (finalAttrs: {
pname = "comfy-kitchen";
version = "0.2.33";
version = "0.2.35";
pyproject = true;
# nixpkgs-update: no auto update
# updated via comfyui
src = fetchFromGitHub {
owner = "Comfy-Org";
repo = "comfy-kitchen";
tag = "v${finalAttrs.version}";
fetchSubmodules = true;
hash = "sha256-2wiUIF6zWSn8y/FK0czuKcuH5wD1HWNhyiQ2yC7AFT4=";
hash = "sha256-ymNZ4uuM59cOf+neC6tfr+NXH9f7LpF9ml7gsYfB4Fk=";
};
buildInputs = lib.optionals cudaSupport (

View File

@@ -8,13 +8,15 @@
buildPythonPackage (finalAttrs: {
pname = "comfyui-embedded-docs";
version = "0.5.11";
version = "0.5.12";
pyproject = true;
# nixpkgs-update: no auto update
# updated via comfyui
src = fetchPypi {
pname = "comfyui_embedded_docs";
inherit (finalAttrs) version;
hash = "sha256-HetjmoWqXFY7ULa+ImvTPbG7OpeReI0sP7TYiMwv2n0=";
hash = "sha256-QKb7AIvnzFqcAUIlK9e93r1LBAczXennedlrFjoau0I=";
};
build-system = [ setuptools ];

View File

@@ -8,13 +8,15 @@
buildPythonPackage (finalAttrs: {
pname = "comfyui-frontend-package";
version = "1.51.10";
version = "1.52.7";
pyproject = true;
# nixpkgs-update: no auto update
# updated via comfyui
src = fetchPypi {
pname = "comfyui_frontend_package";
inherit (finalAttrs) version;
hash = "sha256-li4bsdMGeQawCcYLyys1vL2ux0YCFyuXJ0Ww+ymNjcc=";
hash = "sha256-XLKH2CthihdZjMrmQd1Wreh8paRN3IVKdyVtveKa2kM=";
};
build-system = [ setuptools ];

View File

@@ -8,13 +8,15 @@
buildPythonPackage (finalAttrs: {
pname = "comfyui-workflow-templates-core";
version = "0.3.337";
version = "0.3.357";
pyproject = true;
# nixpkgs-update: no auto update
# updated via comfyui
src = fetchPypi {
pname = "comfyui_workflow_templates_core";
inherit (finalAttrs) version;
hash = "sha256-JqN1DwmBwar8gT5U4FP7/W5e6YQTLqlgcM1fOl9l2fM=";
hash = "sha256-DCWykCQlJhIDvB+RCaLvvomn1OeKUO6nUbo15/O+uf4=";
};
build-system = [ setuptools ];

View File

@@ -8,13 +8,15 @@
buildPythonPackage (finalAttrs: {
pname = "comfyui-workflow-templates-json";
version = "0.1.72";
version = "0.1.92";
pyproject = true;
# nixpkgs-update: no auto update
# updated via comfyui
src = fetchPypi {
pname = "comfyui_workflow_templates_json";
inherit (finalAttrs) version;
hash = "sha256-m35dJtD1KYDmGkhLG5I9/dXKd2Pq9U6pJLn655SmpiA=";
hash = "sha256-PHq+d5L7DdQFpFCL8hxp3O1qOiy6MELE3mqslDh5T+I=";
};
build-system = [ setuptools ];

View File

@@ -11,6 +11,8 @@ buildPythonPackage (finalAttrs: {
version = "0.3.84";
pyproject = true;
# nixpkgs-update: no auto update
# updated via comfyui
src = fetchPypi {
pname = "comfyui_workflow_templates_media_api";
inherit (finalAttrs) version;

View File

@@ -8,13 +8,15 @@
buildPythonPackage (finalAttrs: {
pname = "comfyui-workflow-templates-media-assets-01";
version = "0.1.43";
version = "0.1.47";
pyproject = true;
# nixpkgs-update: no auto update
# updated via comfyui
src = fetchPypi {
pname = "comfyui_workflow_templates_media_assets_01";
inherit (finalAttrs) version;
hash = "sha256-QJYhpsaQmLfgaE+9bLDOmeKXhp6nw7VOKdbQquRX+Hk=";
hash = "sha256-R8AUUFfROKiw1jr2b+kxwwkYJdVS6Cs48UCW59CVUFI=";
};
build-system = [ setuptools ];

View File

@@ -0,0 +1,34 @@
{
lib,
buildPythonPackage,
fetchPypi,
setuptools,
comfyui,
}:
buildPythonPackage (finalAttrs: {
pname = "comfyui-workflow-templates-media-assets-02";
version = "0.1.3";
pyproject = true;
# nixpkgs-update: no auto update
# updated via comfyui
src = fetchPypi {
pname = "comfyui_workflow_templates_media_assets_02";
inherit (finalAttrs) version;
hash = "sha256-VqEUtsbYFoySosWw7RySa09aFVkAr3+Bzcf9Bf1flCQ=";
};
build-system = [ setuptools ];
doCheck = false;
pythonImportsCheck = [ "comfyui_workflow_templates_media_assets_02" ];
meta = {
description = "Media assets bundle 02 for ComfyUI workflow templates";
homepage = "https://github.com/Comfy-Org/workflow_templates";
license = lib.licenses.mit;
inherit (comfyui.meta) maintainers;
};
})

View File

@@ -11,6 +11,8 @@ buildPythonPackage (finalAttrs: {
version = "0.3.160";
pyproject = true;
# nixpkgs-update: no auto update
# updated via comfyui
src = fetchPypi {
pname = "comfyui_workflow_templates_media_image";
inherit (finalAttrs) version;

View File

@@ -11,6 +11,8 @@ buildPythonPackage (finalAttrs: {
version = "0.3.229";
pyproject = true;
# nixpkgs-update: no auto update
# updated via comfyui
src = fetchPypi {
pname = "comfyui_workflow_templates_media_other";
inherit (finalAttrs) version;

View File

@@ -11,6 +11,8 @@ buildPythonPackage (finalAttrs: {
version = "0.3.101";
pyproject = true;
# nixpkgs-update: no auto update
# updated via comfyui
src = fetchPypi {
pname = "comfyui_workflow_templates_media_video";
inherit (finalAttrs) version;

View File

@@ -8,6 +8,7 @@
comfyui-workflow-templates-json,
comfyui-workflow-templates-media-api,
comfyui-workflow-templates-media-assets-01,
comfyui-workflow-templates-media-assets-02,
comfyui-workflow-templates-media-video,
comfyui-workflow-templates-media-image,
comfyui-workflow-templates-media-other,
@@ -15,13 +16,15 @@
buildPythonPackage (finalAttrs: {
pname = "comfyui-workflow-templates";
version = "0.11.57";
version = "0.11.66";
pyproject = true;
# nixpkgs-update: no auto update
# updated via comfyui
src = fetchPypi {
pname = "comfyui_workflow_templates";
inherit (finalAttrs) version;
hash = "sha256-oGnYJKPnU8YDJI30/w3c7GjogQOsaik10mIZ+u8ndiI=";
hash = "sha256-PYTvWQ0u7MavD9lPHaEytxkdXOy35eze55qjd+D8tGI=";
};
build-system = [ setuptools ];
@@ -31,6 +34,7 @@ buildPythonPackage (finalAttrs: {
comfyui-workflow-templates-json
comfyui-workflow-templates-media-api
comfyui-workflow-templates-media-assets-01
comfyui-workflow-templates-media-assets-02
comfyui-workflow-templates-media-image
comfyui-workflow-templates-media-other
comfyui-workflow-templates-media-video

View File

@@ -10,14 +10,14 @@
buildPythonPackage (finalAttrs: {
pname = "tesla-protocol";
version = "2.0.0";
version = "3.0.0";
pyproject = true;
src = fetchFromGitHub {
owner = "Teslemetry";
repo = "tesla-protocol";
tag = "@teslemetry/tesla-protocol@${finalAttrs.version}";
hash = "sha256-Zii0Hq4ow7tyMD2Vsjj8wMF4xAHIAYUHeum3htWcRx4=";
hash = "sha256-q5GDWaxgxVH9ZUiu0dKVcKJUo7A/pK+YtVvMrM6Ys88=";
};
sourceRoot = "${finalAttrs.src.name}/packages/python";

View File

@@ -8,24 +8,21 @@
asciidoctor,
openssl,
ansi2html,
less,
installShellFiles,
}:
rustPlatform.buildRustPackage rec {
pname = "mdcat";
version = "2.7.1";
version = "2.17.0";
src = fetchFromGitHub {
owner = "swsnr";
owner = "BIRSAx2";
repo = "mdcat";
rev = "mdcat-${version}";
hash = "sha256-j6BFXx5cyjE3+fo1gGKlqpsxrm3i9HfQ9tJGNNjjLwo=";
hash = "sha256-pBKGxMUZ9U93HmotoItxIitijZ2yMBPduBv5Ul1yQyI=";
};
patches = [
./fix-clippy.diff
];
nativeBuildInputs = [
pkg-config
asciidoctor
@@ -36,19 +33,11 @@ rustPlatform.buildRustPackage rec {
openssl
];
cargoHash = "sha256-8A0RLbFkh3fruZAbjJzipQvuFLchqIRovPcc6MSKdOc=";
cargoHash = "sha256-9/v33gdd9dGCdEDf53u1bKhsQGQXCBrtSe5ZvCGN1LU=";
nativeCheckInputs = [ ansi2html ];
# Skip tests that use the network and that include files.
checkFlags = [
"--skip=magic::tests::detect_mimetype_of_larger_than_magic_param_bytes_max_length"
"--skip=magic::tests::detect_mimetype_of_magic_param_bytes_max_length"
"--skip=magic::tests::detect_mimetype_of_png_image"
"--skip=magic::tests::detect_mimetype_of_svg_image"
"--skip=resources::tests::read_url_with_http_url_fails_when_size_limit_is_exceeded"
"--skip=resources::tests::read_url_with_http_url_fails_when_status_404"
"--skip=resources::tests::read_url_with_http_url_returns_content_when_status_200"
"--skip=iterm2_tests_render_md_samples_images_md"
nativeCheckInputs = [
ansi2html
less
];
postInstall = ''
@@ -66,9 +55,12 @@ rustPlatform.buildRustPackage rec {
meta = {
description = "cat for markdown";
homepage = "https://github.com/swsnr/mdcat";
changelog = "https://github.com/swsnr/mdcat/releases/tag/mdcat-${version}";
homepage = "https://github.com/BIRSAx2/mdcat";
changelog = "https://github.com/BIRSAx2/mdcat/releases/tag/mdcat-${version}";
license = lib.licenses.mpl20;
maintainers = with lib.maintainers; [ SuperSandro2000 ];
maintainers = with lib.maintainers; [
SuperSandro2000
giomf
];
};
}

View File

@@ -1,14 +0,0 @@
diff --git a/pulldown-cmark-mdcat/src/terminal/osc.rs b/pulldown-cmark-mdcat/src/terminal/osc.rs
index 8fa2db6..dc2a2da 100644
--- a/pulldown-cmark-mdcat/src/terminal/osc.rs
+++ b/pulldown-cmark-mdcat/src/terminal/osc.rs
@@ -20,9 +20,6 @@ pub fn write_osc<W: Write + ?Sized>(writer: &mut W, command: &str) -> Result<()>
Ok(())
}
-#[derive(Debug, PartialEq, Eq, Copy, Clone)]
-pub struct Osc8Links;
-
/// Whether the given `url` needs to get an explicit host.
///
/// [OSC 8] links require that `file://` URLs give an explicit hostname, as

View File

@@ -3533,6 +3533,10 @@ self: super: with self; {
callPackage ../development/python-modules/comfyui-workflow-templates-media-assets-01
{ };
comfyui-workflow-templates-media-assets-02 =
callPackage ../development/python-modules/comfyui-workflow-templates-media-assets-02
{ };
comfyui-workflow-templates-media-image =
callPackage ../development/python-modules/comfyui-workflow-templates-media-image
{ };