diff --git a/ci/github-script/bot.js b/ci/github-script/bot.js
index efb5f4935aa8..aa607d0dfc1b 100644
--- a/ci/github-script/bot.js
+++ b/ci/github-script/bot.js
@@ -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
diff --git a/nixos/doc/manual/release-notes/rl-2611.section.md b/nixos/doc/manual/release-notes/rl-2611.section.md
index 7bfb43ae3aa1..d8f5a489908f 100644
--- a/nixos/doc/manual/release-notes/rl-2611.section.md
+++ b/nixos/doc/manual/release-notes/rl-2611.section.md
@@ -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).
diff --git a/nixos/modules/module-list.nix b/nixos/modules/module-list.nix
index aa64e6e20686..548c1da4234e 100644
--- a/nixos/modules/module-list.nix
+++ b/nixos/modules/module-list.nix
@@ -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
diff --git a/nixos/modules/services/misc/gophernicus.nix b/nixos/modules/services/misc/gophernicus.nix
new file mode 100644
index 000000000000..c3f83228d641
--- /dev/null
+++ b/nixos/modules/services/misc/gophernicus.nix
@@ -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
+ ];
+}
diff --git a/nixos/tests/all-tests.nix b/nixos/tests/all-tests.nix
index 538af4363980..fea34f717234 100644
--- a/nixos/tests/all-tests.nix
+++ b/nixos/tests/all-tests.nix
@@ -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;
diff --git a/nixos/tests/gophernicus.nix b/nixos/tests/gophernicus.nix
new file mode 100644
index 000000000000..2b2599c44ec6
--- /dev/null
+++ b/nixos/tests/gophernicus.nix
@@ -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}
+
+ '';
+ bob-filtered = pkgs.writeText "gophernicus-test-bob-filtered" ''
+ hello
+ '';
+ bob-php-non-cgi = pkgs.writeText "gophernicus-test-bob-php-non-cgi" ''
+
+ '';
+ 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"
+ '';
+}
diff --git a/pkgs/by-name/ba/bacon/package.nix b/pkgs/by-name/ba/bacon/package.nix
index 93919889813b..208d89f456f3 100644
--- a/pkgs/by-name/ba/bacon/package.nix
+++ b/pkgs/by-name/ba/bacon/package.nix
@@ -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
];
};
diff --git a/pkgs/by-name/co/cockpit-files/package.nix b/pkgs/by-name/co/cockpit-files/package.nix
index 5a19c924b0ca..de98dde676f6 100644
--- a/pkgs/by-name/co/cockpit-files/package.nix
+++ b/pkgs/by-name/co/cockpit-files/package.nix
@@ -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";
diff --git a/pkgs/by-name/co/cockpit-machines/package.nix b/pkgs/by-name/co/cockpit-machines/package.nix
index 31d67375d394..4d0f4df5d400 100644
--- a/pkgs/by-name/co/cockpit-machines/package.nix
+++ b/pkgs/by-name/co/cockpit-machines/package.nix
@@ -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";
diff --git a/pkgs/by-name/co/cockpit-podman/package.nix b/pkgs/by-name/co/cockpit-podman/package.nix
index 423f4abf3f77..1fb6227676ac 100644
--- a/pkgs/by-name/co/cockpit-podman/package.nix
+++ b/pkgs/by-name/co/cockpit-podman/package.nix
@@ -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";
diff --git a/pkgs/by-name/co/cockpit/package.nix b/pkgs/by-name/co/cockpit/package.nix
index 12c86202d606..ec5ac8a3a0fd 100644
--- a/pkgs/by-name/co/cockpit/package.nix
+++ b/pkgs/by-name/co/cockpit/package.nix
@@ -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;
};
diff --git a/pkgs/by-name/co/comfyui/package.nix b/pkgs/by-name/co/comfyui/package.nix
index 90de37186be1..c032490e4f40 100644
--- a/pkgs/by-name/co/comfyui/package.nix
+++ b/pkgs/by-name/co/comfyui/package.nix
@@ -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;
};
})
diff --git a/pkgs/by-name/fa/farmhash/package.nix b/pkgs/by-name/fa/farmhash/package.nix
new file mode 100644
index 000000000000..233ecdc36440
--- /dev/null
+++ b/pkgs/by-name/fa/farmhash/package.nix
@@ -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;
+ };
+}
diff --git a/pkgs/by-name/go/gophernicus/package.nix b/pkgs/by-name/go/gophernicus/package.nix
new file mode 100644
index 000000000000..f5fc7a53f9ef
--- /dev/null
+++ b/pkgs/by-name/go/gophernicus/package.nix
@@ -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"}-h@HOSTNAME@${"\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";
+ };
+})
diff --git a/pkgs/by-name/gp/gpu-screen-recorder-ui/package.nix b/pkgs/by-name/gp/gpu-screen-recorder-ui/package.nix
index 10db980b5c71..733bfacae11e 100644
--- a/pkgs/by-name/gp/gpu-screen-recorder-ui/package.nix
+++ b/pkgs/by-name/gp/gpu-screen-recorder-ui/package.nix
@@ -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 = [
diff --git a/pkgs/by-name/gv/gvfs/package.nix b/pkgs/by-name/gv/gvfs/package.nix
index 041007059cee..b681e59170e0 100644
--- a/pkgs/by-name/gv/gvfs/package.nix
+++ b/pkgs/by-name/gv/gvfs/package.nix
@@ -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 ];
};
})
diff --git a/pkgs/by-name/me/meilisearch/package.nix b/pkgs/by-name/me/meilisearch/package.nix
index 274dad368412..19f3be11b40b 100644
--- a/pkgs/by-name/me/meilisearch/package.nix
+++ b/pkgs/by-name/me/meilisearch/package.nix
@@ -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;
diff --git a/pkgs/by-name/mi/microsoft-edge/package.nix b/pkgs/by-name/mi/microsoft-edge/package.nix
index fe79b99032cd..13cdd8b602e7 100644
--- a/pkgs/by-name/mi/microsoft-edge/package.nix
+++ b/pkgs/by-name/mi/microsoft-edge/package.nix
@@ -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
diff --git a/pkgs/by-name/ms/msedgedriver/package.nix b/pkgs/by-name/ms/msedgedriver/package.nix
index c258d19d2f3e..43de4807a9a0 100644
--- a/pkgs/by-name/ms/msedgedriver/package.nix
+++ b/pkgs/by-name/ms/msedgedriver/package.nix
@@ -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;
};
diff --git a/pkgs/by-name/od/odamex/package.nix b/pkgs/by-name/od/odamex/package.nix
index b98c575dda8f..972b7a209065 100644
--- a/pkgs/by-name/od/odamex/package.nix
+++ b/pkgs/by-name/od/odamex/package.nix
@@ -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;
};
diff --git a/pkgs/by-name/re/renode-dts2repl/package.nix b/pkgs/by-name/re/renode-dts2repl/package.nix
index 8ac305ff98ad..80cacd7ec3e8 100644
--- a/pkgs/by-name/re/renode-dts2repl/package.nix
+++ b/pkgs/by-name/re/renode-dts2repl/package.nix
@@ -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 = [
diff --git a/pkgs/by-name/re/revive/package.nix b/pkgs/by-name/re/revive/package.nix
index 8f3acb2dae83..5b9c7e48b8a4 100644
--- a/pkgs/by-name/re/revive/package.nix
+++ b/pkgs/by-name/re/revive/package.nix
@@ -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 = [ "." ];
diff --git a/pkgs/by-name/se/searxng/package.nix b/pkgs/by-name/se/searxng/package.nix
index 18998210b4ef..923399ad71fe 100644
--- a/pkgs/by-name/se/searxng/package.nix
+++ b/pkgs/by-name/se/searxng/package.nix
@@ -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 ];
diff --git a/pkgs/by-name/sl/slint-viewer/package.nix b/pkgs/by-name/sl/slint-viewer/package.nix
index 6269b3b3d9a0..b2526f0d3a98 100644
--- a/pkgs/by-name/sl/slint-viewer/package.nix
+++ b/pkgs/by-name/sl/slint-viewer/package.nix
@@ -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
diff --git a/pkgs/by-name/sp/speech-to-phrase/stt-onlyprobs.nix b/pkgs/by-name/sp/speech-to-phrase/stt-onlyprobs.nix
index 5ba23843cb28..524d13440df5 100644
--- a/pkgs/by-name/sp/speech-to-phrase/stt-onlyprobs.nix
+++ b/pkgs/by-name/sp/speech-to-phrase/stt-onlyprobs.nix
@@ -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}")
diff --git a/pkgs/by-name/te/technitium-dns-server-library/nuget-deps.json b/pkgs/by-name/te/technitium-dns-server-library/nuget-deps.json
index ca48dcf1154e..ea7b9f769971 100644
--- a/pkgs/by-name/te/technitium-dns-server-library/nuget-deps.json
+++ b/pkgs/by-name/te/technitium-dns-server-library/nuget-deps.json
@@ -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",
diff --git a/pkgs/by-name/te/technitium-dns-server-library/package.nix b/pkgs/by-name/te/technitium-dns-server-library/package.nix
index 68c5826b831e..4cd50a5c19f3 100644
--- a/pkgs/by-name/te/technitium-dns-server-library/package.nix
+++ b/pkgs/by-name/te/technitium-dns-server-library/package.nix
@@ -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;
diff --git a/pkgs/by-name/te/technitium-dns-server/nuget-deps.json b/pkgs/by-name/te/technitium-dns-server/nuget-deps.json
index dfb73aa03e2b..bb53096e7d47 100644
--- a/pkgs/by-name/te/technitium-dns-server/nuget-deps.json
+++ b/pkgs/by-name/te/technitium-dns-server/nuget-deps.json
@@ -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="
}
]
diff --git a/pkgs/by-name/te/technitium-dns-server/package.nix b/pkgs/by-name/te/technitium-dns-server/package.nix
index 45752d60153b..3cea1cc3140b 100644
--- a/pkgs/by-name/te/technitium-dns-server/package.nix
+++ b/pkgs/by-name/te/technitium-dns-server/package.nix
@@ -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;
diff --git a/pkgs/by-name/ze/zellij-unwrapped/package.nix b/pkgs/by-name/ze/zellij-unwrapped/package.nix
index ba2ccf797c50..9e00367bd95f 100644
--- a/pkgs/by-name/ze/zellij-unwrapped/package.nix
+++ b/pkgs/by-name/ze/zellij-unwrapped/package.nix
@@ -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
];
diff --git a/pkgs/development/python-modules/comfy-aimdo/default.nix b/pkgs/development/python-modules/comfy-aimdo/default.nix
index 61d590e4af10..711daa7ef04e 100644
--- a/pkgs/development/python-modules/comfy-aimdo/default.nix
+++ b/pkgs/development/python-modules/comfy-aimdo/default.nix
@@ -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;
};
})
diff --git a/pkgs/development/python-modules/comfy-angle/default.nix b/pkgs/development/python-modules/comfy-angle/default.nix
index f3b8183637b3..5ded931efd39 100644
--- a/pkgs/development/python-modules/comfy-angle/default.nix
+++ b/pkgs/development/python-modules/comfy-angle/default.nix
@@ -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;
};
})
diff --git a/pkgs/development/python-modules/comfy-kitchen/default.nix b/pkgs/development/python-modules/comfy-kitchen/default.nix
index 322db3afb236..cf73b780d018 100644
--- a/pkgs/development/python-modules/comfy-kitchen/default.nix
+++ b/pkgs/development/python-modules/comfy-kitchen/default.nix
@@ -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 (
diff --git a/pkgs/development/python-modules/comfyui-embedded-docs/default.nix b/pkgs/development/python-modules/comfyui-embedded-docs/default.nix
index 0a1268164363..6e237ac94df7 100644
--- a/pkgs/development/python-modules/comfyui-embedded-docs/default.nix
+++ b/pkgs/development/python-modules/comfyui-embedded-docs/default.nix
@@ -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 ];
diff --git a/pkgs/development/python-modules/comfyui-frontend-package/default.nix b/pkgs/development/python-modules/comfyui-frontend-package/default.nix
index cbedaaf27df9..a4b4062288a5 100644
--- a/pkgs/development/python-modules/comfyui-frontend-package/default.nix
+++ b/pkgs/development/python-modules/comfyui-frontend-package/default.nix
@@ -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 ];
diff --git a/pkgs/development/python-modules/comfyui-workflow-templates-core/default.nix b/pkgs/development/python-modules/comfyui-workflow-templates-core/default.nix
index 3c410e7837c5..af0fe1413440 100644
--- a/pkgs/development/python-modules/comfyui-workflow-templates-core/default.nix
+++ b/pkgs/development/python-modules/comfyui-workflow-templates-core/default.nix
@@ -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 ];
diff --git a/pkgs/development/python-modules/comfyui-workflow-templates-json/default.nix b/pkgs/development/python-modules/comfyui-workflow-templates-json/default.nix
index 7f737e56296e..583f7d17d88b 100644
--- a/pkgs/development/python-modules/comfyui-workflow-templates-json/default.nix
+++ b/pkgs/development/python-modules/comfyui-workflow-templates-json/default.nix
@@ -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 ];
diff --git a/pkgs/development/python-modules/comfyui-workflow-templates-media-api/default.nix b/pkgs/development/python-modules/comfyui-workflow-templates-media-api/default.nix
index 25cdbfc7a5c6..bb8d056ab6f4 100644
--- a/pkgs/development/python-modules/comfyui-workflow-templates-media-api/default.nix
+++ b/pkgs/development/python-modules/comfyui-workflow-templates-media-api/default.nix
@@ -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;
diff --git a/pkgs/development/python-modules/comfyui-workflow-templates-media-assets-01/default.nix b/pkgs/development/python-modules/comfyui-workflow-templates-media-assets-01/default.nix
index c0be45bf95c5..972cc4e9639b 100644
--- a/pkgs/development/python-modules/comfyui-workflow-templates-media-assets-01/default.nix
+++ b/pkgs/development/python-modules/comfyui-workflow-templates-media-assets-01/default.nix
@@ -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 ];
diff --git a/pkgs/development/python-modules/comfyui-workflow-templates-media-assets-02/default.nix b/pkgs/development/python-modules/comfyui-workflow-templates-media-assets-02/default.nix
new file mode 100644
index 000000000000..03d5dda3424b
--- /dev/null
+++ b/pkgs/development/python-modules/comfyui-workflow-templates-media-assets-02/default.nix
@@ -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;
+ };
+})
diff --git a/pkgs/development/python-modules/comfyui-workflow-templates-media-image/default.nix b/pkgs/development/python-modules/comfyui-workflow-templates-media-image/default.nix
index 631a707567e6..6a79133e8057 100644
--- a/pkgs/development/python-modules/comfyui-workflow-templates-media-image/default.nix
+++ b/pkgs/development/python-modules/comfyui-workflow-templates-media-image/default.nix
@@ -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;
diff --git a/pkgs/development/python-modules/comfyui-workflow-templates-media-other/default.nix b/pkgs/development/python-modules/comfyui-workflow-templates-media-other/default.nix
index 7afc8b4dd2d3..638a055040ef 100644
--- a/pkgs/development/python-modules/comfyui-workflow-templates-media-other/default.nix
+++ b/pkgs/development/python-modules/comfyui-workflow-templates-media-other/default.nix
@@ -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;
diff --git a/pkgs/development/python-modules/comfyui-workflow-templates-media-video/default.nix b/pkgs/development/python-modules/comfyui-workflow-templates-media-video/default.nix
index 856eae8b86f5..f3944f2d97b0 100644
--- a/pkgs/development/python-modules/comfyui-workflow-templates-media-video/default.nix
+++ b/pkgs/development/python-modules/comfyui-workflow-templates-media-video/default.nix
@@ -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;
diff --git a/pkgs/development/python-modules/comfyui-workflow-templates/default.nix b/pkgs/development/python-modules/comfyui-workflow-templates/default.nix
index fb3d2cdc2213..968b07f988d8 100644
--- a/pkgs/development/python-modules/comfyui-workflow-templates/default.nix
+++ b/pkgs/development/python-modules/comfyui-workflow-templates/default.nix
@@ -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
diff --git a/pkgs/development/python-modules/tesla-protocol/default.nix b/pkgs/development/python-modules/tesla-protocol/default.nix
index f9d5a4e88afb..44f51586d400 100644
--- a/pkgs/development/python-modules/tesla-protocol/default.nix
+++ b/pkgs/development/python-modules/tesla-protocol/default.nix
@@ -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";
diff --git a/pkgs/tools/text/mdcat/default.nix b/pkgs/tools/text/mdcat/default.nix
index 941f65a84f76..9292d634c8d3 100644
--- a/pkgs/tools/text/mdcat/default.nix
+++ b/pkgs/tools/text/mdcat/default.nix
@@ -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
+ ];
};
}
diff --git a/pkgs/tools/text/mdcat/fix-clippy.diff b/pkgs/tools/text/mdcat/fix-clippy.diff
deleted file mode 100644
index d54b75ffd581..000000000000
--- a/pkgs/tools/text/mdcat/fix-clippy.diff
+++ /dev/null
@@ -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(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
diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix
index fa2008778f5f..0a6adcfc4ac2 100644
--- a/pkgs/top-level/python-packages.nix
+++ b/pkgs/top-level/python-packages.nix
@@ -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
{ };