mirror of
https://github.com/NixOS/nixpkgs.git
synced 2026-09-30 03:39:59 +00:00
Merge master into staging-next
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -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).
|
||||
|
||||
@@ -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
|
||||
|
||||
229
nixos/modules/services/misc/gophernicus.nix
Normal file
229
nixos/modules/services/misc/gophernicus.nix
Normal 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
|
||||
];
|
||||
}
|
||||
@@ -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
117
nixos/tests/gophernicus.nix
Normal 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"
|
||||
'';
|
||||
}
|
||||
@@ -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
|
||||
];
|
||||
};
|
||||
|
||||
@@ -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";
|
||||
|
||||
@@ -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";
|
||||
|
||||
@@ -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";
|
||||
|
||||
@@ -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;
|
||||
};
|
||||
|
||||
|
||||
@@ -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;
|
||||
};
|
||||
})
|
||||
|
||||
34
pkgs/by-name/fa/farmhash/package.nix
Normal file
34
pkgs/by-name/fa/farmhash/package.nix
Normal 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;
|
||||
};
|
||||
}
|
||||
124
pkgs/by-name/go/gophernicus/package.nix
Normal file
124
pkgs/by-name/go/gophernicus/package.nix
Normal 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";
|
||||
};
|
||||
})
|
||||
@@ -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 = [
|
||||
|
||||
@@ -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 ];
|
||||
};
|
||||
})
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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;
|
||||
};
|
||||
|
||||
|
||||
@@ -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;
|
||||
};
|
||||
|
||||
|
||||
@@ -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 = [
|
||||
|
||||
@@ -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 = [ "." ];
|
||||
|
||||
@@ -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 ];
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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}")
|
||||
|
||||
@@ -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",
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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="
|
||||
}
|
||||
]
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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
|
||||
];
|
||||
|
||||
|
||||
@@ -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;
|
||||
};
|
||||
})
|
||||
|
||||
@@ -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;
|
||||
};
|
||||
})
|
||||
|
||||
@@ -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 (
|
||||
|
||||
@@ -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 ];
|
||||
|
||||
@@ -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 ];
|
||||
|
||||
@@ -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 ];
|
||||
|
||||
@@ -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 ];
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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 ];
|
||||
|
||||
@@ -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;
|
||||
};
|
||||
})
|
||||
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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";
|
||||
|
||||
@@ -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
|
||||
];
|
||||
};
|
||||
}
|
||||
|
||||
@@ -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
|
||||
@@ -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
|
||||
{ };
|
||||
|
||||
Reference in New Issue
Block a user