Merge master into staging-next

This commit is contained in:
github-actions[bot] 2023-04-06 16:11:06 +00:00 committed by GitHub
commit 638ad26bf6
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
60 changed files with 10473 additions and 262 deletions

View file

@ -10567,6 +10567,12 @@
githubId = 772914;
name = "Mikael Voss";
};
mwdomino = {
email = "matt@dominey.io";
github = "mwdomino";
githubId = 46284538;
name = "Matt Dominey";
};
mwolfe = {
email = "corp@m0rg.dev";
github = "m0rg-dev";

View file

@ -35,7 +35,10 @@ let
# ...
# } ];
usedPlatforms = config:
if isAttrs config then
# don't recurse into derivations possibly creating an infinite recursion
if isDerivation config then
[ ]
else if isAttrs config then
optional (config ? platform) config.platform
++ concatMap usedPlatforms (attrValues config)
else if isList config then
@ -505,6 +508,7 @@ in {
"mysensors"
"nad"
"numato"
"otbr"
"rflink"
"rfxtrx"
"scsgate"

View file

@ -48,6 +48,8 @@ let
# User and group
User = cfg.user;
Group = cfg.group;
# Working directory
WorkingDirectory = cfg.package;
# State directory and mode
StateDirectory = "mastodon";
StateDirectoryMode = "0750";
@ -110,6 +112,37 @@ let
$sudo ${cfg.package}/bin/tootctl "$@"
'';
sidekiqUnits = lib.attrsets.mapAttrs' (name: processCfg:
lib.nameValuePair "mastodon-sidekiq-${name}" (let
jobClassArgs = toString (builtins.map (c: "-q ${c}") processCfg.jobClasses);
jobClassLabel = toString ([""] ++ processCfg.jobClasses);
threads = toString (if processCfg.threads == null then cfg.sidekiqThreads else processCfg.threads);
in {
after = [ "network.target" "mastodon-init-dirs.service" ]
++ lib.optional databaseActuallyCreateLocally "postgresql.service"
++ lib.optional cfg.automaticMigrations "mastodon-init-db.service";
requires = [ "mastodon-init-dirs.service" ]
++ lib.optional databaseActuallyCreateLocally "postgresql.service"
++ lib.optional cfg.automaticMigrations "mastodon-init-db.service";
description = "Mastodon sidekiq${jobClassLabel}";
wantedBy = [ "mastodon.target" ];
environment = env // {
PORT = toString(cfg.sidekiqPort);
DB_POOL = threads;
};
serviceConfig = {
ExecStart = "${cfg.package}/bin/sidekiq ${jobClassArgs} -c ${threads} -r ${cfg.package}";
Restart = "always";
RestartSec = 20;
EnvironmentFile = [ "/var/lib/mastodon/.secrets_env" ] ++ cfg.extraEnvFiles;
WorkingDirectory = cfg.package;
# System Call Filtering
SystemCallFilter = [ ("~" + lib.concatStringsSep " " systemCallsList) "@chown" "pipe" "pipe2" ];
} // cfgService;
path = with pkgs; [ file imagemagick ffmpeg ];
})
) cfg.sidekiqProcesses;
in {
options = {
@ -195,12 +228,53 @@ in {
type = lib.types.port;
default = 55002;
};
sidekiqThreads = lib.mkOption {
description = lib.mdDoc "Worker threads used by the mastodon-sidekiq service.";
description = lib.mdDoc "Worker threads used by the mastodon-sidekiq-all service. If `sidekiqProcesses` is configured and any processes specify null `threads`, this value is used.";
type = lib.types.int;
default = 25;
};
sidekiqProcesses = lib.mkOption {
description = lib.mdDoc "How many Sidekiq processes should be used to handle background jobs, and which job classes they handle. *Read the [upstream documentation](https://docs.joinmastodon.org/admin/scaling/#sidekiq) before configuring this!*";
type = with lib.types; attrsOf (submodule {
options = {
jobClasses = lib.mkOption {
type = listOf (enum [ "default" "push" "pull" "mailers" "scheduler" "ingress" ]);
description = lib.mdDoc "If not empty, which job classes should be executed by this process. *Only one process should handle the 'scheduler' class. If left empty, this process will handle the 'scheduler' class.*";
};
threads = lib.mkOption {
type = nullOr int;
description = lib.mdDoc "Number of threads this process should use for executing jobs. If null, the configured `sidekiqThreads` are used.";
};
};
});
default = {
all = {
jobClasses = [ ];
threads = null;
};
};
example = {
all = {
jobClasses = [ ];
threads = null;
};
ingress = {
jobClasses = [ "ingress" ];
threads = 5;
};
default = {
jobClasses = [ "default" ];
threads = 10;
};
push-pull = {
jobClasses = [ "push" "pull" ];
threads = 5;
};
};
};
vapidPublicKeyFile = lib.mkOption {
description = lib.mdDoc ''
Path to file containing the public key used for Web Push
@ -482,7 +556,7 @@ in {
};
};
config = lib.mkIf cfg.enable {
config = lib.mkIf cfg.enable (lib.mkMerge [{
assertions = [
{
assertion = databaseActuallyCreateLocally -> (cfg.user == cfg.database.user);
@ -517,6 +591,12 @@ in {
environment.systemPackages = [ mastodonTootctl ];
systemd.targets.mastodon = {
description = "Target for all Mastodon services";
wantedBy = [ "multi-user.target" ];
after = [ "network.target" ];
};
systemd.services.mastodon-init-dirs = {
script = ''
umask 077
@ -551,7 +631,7 @@ in {
environment = env;
serviceConfig = {
Type = "oneshot";
WorkingDirectory = cfg.package;
SyslogIdentifier = "mastodon-init-dirs";
# System Call Filtering
SystemCallFilter = [ ("~" + lib.concatStringsSep " " (systemCallsList ++ [ "@resources" ])) "@chown" "pipe" "pipe2" ];
} // cfgService;
@ -609,7 +689,7 @@ in {
requires = [ "mastodon-init-dirs.service" ]
++ lib.optional databaseActuallyCreateLocally "postgresql.service"
++ lib.optional cfg.automaticMigrations "mastodon-init-db.service";
wantedBy = [ "multi-user.target" ];
wantedBy = [ "mastodon.target" ];
description = "Mastodon streaming";
environment = env // (if cfg.enableUnixSocket
then { SOCKET = "/run/mastodon-streaming/streaming.socket"; }
@ -636,7 +716,7 @@ in {
requires = [ "mastodon-init-dirs.service" ]
++ lib.optional databaseActuallyCreateLocally "postgresql.service"
++ lib.optional cfg.automaticMigrations "mastodon-init-db.service";
wantedBy = [ "multi-user.target" ];
wantedBy = [ "mastodon.target" ];
description = "Mastodon web";
environment = env // (if cfg.enableUnixSocket
then { SOCKET = "/run/mastodon-web/web.socket"; }
@ -657,31 +737,6 @@ in {
path = with pkgs; [ file imagemagick ffmpeg ];
};
systemd.services.mastodon-sidekiq = {
after = [ "network.target" "mastodon-init-dirs.service" ]
++ lib.optional databaseActuallyCreateLocally "postgresql.service"
++ lib.optional cfg.automaticMigrations "mastodon-init-db.service";
requires = [ "mastodon-init-dirs.service" ]
++ lib.optional databaseActuallyCreateLocally "postgresql.service"
++ lib.optional cfg.automaticMigrations "mastodon-init-db.service";
wantedBy = [ "multi-user.target" ];
description = "Mastodon sidekiq";
environment = env // {
PORT = toString(cfg.sidekiqPort);
DB_POOL = toString cfg.sidekiqThreads;
};
serviceConfig = {
ExecStart = "${cfg.package}/bin/sidekiq -c ${toString cfg.sidekiqThreads} -r ${cfg.package}";
Restart = "always";
RestartSec = 20;
EnvironmentFile = [ "/var/lib/mastodon/.secrets_env" ] ++ cfg.extraEnvFiles;
WorkingDirectory = cfg.package;
# System Call Filtering
SystemCallFilter = [ ("~" + lib.concatStringsSep " " systemCallsList) "@chown" "pipe" "pipe2" ];
} // cfgService;
path = with pkgs; [ file imagemagick ffmpeg ];
};
systemd.services.mastodon-media-auto-remove = lib.mkIf cfg.mediaAutoRemove.enable {
description = "Mastodon media auto remove";
environment = env;
@ -757,7 +812,9 @@ in {
];
users.groups.${cfg.group}.members = lib.optional cfg.configureNginx config.services.nginx.user;
};
}
{ systemd.services = sidekiqUnits; }
]);
meta.maintainers = with lib.maintainers; [ happy-river erictapen ];

View file

@ -9,7 +9,7 @@
${extraInit}
server.wait_for_unit("redis-mastodon.service")
server.wait_for_unit("mastodon-sidekiq.service")
server.wait_for_unit("mastodon-sidekiq-all.service")
server.wait_for_unit("mastodon-streaming.service")
server.wait_for_unit("mastodon-web.service")
server.wait_for_open_port(55000)

View file

@ -7,16 +7,16 @@
rustPlatform.buildRustPackage rec {
pname = "ncspot";
version = "0.13.0";
version = "0.13.1";
src = fetchFromGitHub {
owner = "hrkfdn";
repo = "ncspot";
rev = "v${version}";
hash = "sha256-YWA8chp33SkMdo+XT/7qikIkgwt8pozC9wMFpY8Dv8Q=";
hash = "sha256-TZTADhoJloqMSO2UgbwwvJoZqhi8UC1qNDDNxE6Aq54=";
};
cargoHash = "sha256-DB3r6pPtustEQG8QXM6qT1hkd7msC//46bhVP/HMxnY=";
cargoHash = "sha256-tEk7BxAN8jEquJiv89vC0lYrB/sKeZhThBzs09A9NpA=";
nativeBuildInputs = [ pkg-config ];

View file

@ -14,6 +14,18 @@ let
hash = "sha256-lfwC9/wfMZmqpHqKdXQ3E0z2GOnZlMhO/9U/Uww4WG8=";
};
});
# Flexget's transmission plugin is not currently compatible with the 4.x
# branch for transmission-rpc.
transmission-rpc = super.transmission-rpc.overridePythonAttrs (old: rec {
version = "3.4.2";
src = fetchFromGitHub {
owner = "Trim21";
repo = "transmission-rpc";
rev = "refs/tags/v${version}";
hash = "sha256-7XbL6plIPZHQ/0Z+7bvtj8hqkh4klFyIV73DnrUAkps=";
};
});
};
};
in

View file

@ -2,11 +2,11 @@
stdenv.mkDerivation rec {
pname = "varscan";
version = "2.4.5";
version = "2.4.6";
src = fetchurl {
url = "https://github.com/dkoboldt/varscan/raw/master/VarScan.v${version}.jar";
sha256 = "sha256-q4jkkKTqXHiaAPRThqo82i43+B4NaHUUuMyefW6tgg0=";
sha256 = "sha256-6CcjC0epbKsDXFxxeOUImSGh4cjR5INqawL/iOOkwqs=";
};
nativeBuildInputs = [ makeWrapper ];

View file

@ -0,0 +1,62 @@
{ lib
, buildPythonApplication
, fetchFromGitHub
, git
, pytestCheckHook
, pytest-mock
}:
buildPythonApplication rec {
pname = "git-archive-all";
version = "1.23.1";
src = fetchFromGitHub {
owner = "Kentzo";
repo = "git-archive-all";
rev = version;
hash = "sha256-fIPjggOx+CEorj1bazz8s81ZdppkTL0OlA5tRqCYZyc=";
};
# * Don't use pinned dependencies
# * Remove formatter and coverage generator
# * Don't fail on warnings. Almost all tests output this warning:
# ResourceWarning: unclosed file [...]/repo.tar
# https://github.com/Kentzo/git-archive-all/issues/90
postPatch = ''
substituteInPlace setup.cfg \
--replace pycodestyle==2.5.0 "" \
--replace pytest==5.2.2 pytest \
--replace pytest-cov==2.8.1 "" \
--replace pytest-mock==1.11.2 pytest-mock \
--replace "--cov=git_archive_all --cov-report=term --cov-branch" "" \
--replace "filterwarnings = error" ""
substituteInPlace test_git_archive_all.py \
--replace "import pycodestyle" ""
'';
nativeCheckInputs = [
git
];
checkInputs = [
pytestCheckHook
pytest-mock
];
disabledTests = [ "pycodestyle" ];
preCheck = ''
export HOME="$(mktemp -d)"
'';
meta = with lib; {
description = "Archive a repository with all its submodules";
longDescription = ''
A python script wrapper for git-archive that archives a git superproject
and its submodules, if it has any. Takes into account .gitattributes
'';
homepage = "https://github.com/Kentzo/git-archive-all";
license = licenses.mit;
maintainers = with maintainers; [ fgaz ];
};
}

View file

@ -1,6 +1,7 @@
{ stdenv
, cacert
, lib
, writeCBin
}:
args@{
@ -75,6 +76,28 @@ let
${lib.strings.concatStringsSep " " additionalFlags} \
${lib.strings.concatStringsSep " " targets}
'';
# we need this to chmod dangling symlinks on darwin, gnu coreutils refuses to do so:
# chmod: cannot operate on dangling symlink '$symlink'
chmodder = writeCBin "chmodder" ''
#include <stdio.h>
#include <stdlib.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <errno.h>
#include <string.h>
int main(int argc, char** argv) {
mode_t mode = S_IRWXU | S_IRWXG | S_IRWXO;
if (argc != 2) {
fprintf(stderr, "usage: chmodder file");
exit(EXIT_FAILURE);
}
if (lchmod(argv[1], mode) != 0) {
fprintf(stderr, "failed to lchmod '%s': %s", argv[0], strerror(errno));
exit(EXIT_FAILURE);
}
}
'';
in
stdenv.mkDerivation (fBuildAttrs // {
@ -149,6 +172,10 @@ stdenv.mkDerivation (fBuildAttrs // {
new_target="$(readlink "$symlink" | sed "s,$NIX_BUILD_TOP,NIX_BUILD_TOP,")"
rm "$symlink"
ln -sf "$new_target" "$symlink"
'' + lib.optionalString stdenv.isDarwin ''
# on linux symlink permissions cannot be modified, so we modify those on darwin to match the linux ones
${chmodder}/bin/chmodder "$symlink"
'' + ''
done
echo '${bazel.name}' > $bazelOut/external/.nix-bazel-version

View file

@ -9,13 +9,13 @@
stdenv.mkDerivation rec {
pname = "budgie-backgrounds";
version = "0.1";
version = "1.0";
src = fetchFromGitHub {
owner = "BuddiesOfBudgie";
repo = "budgie-backgrounds";
rev = "v${version}";
hash = "sha256-pDFd+WvWOPgDoSffmX9mzjDQbhePsJV1wGqmPDcnOlw=";
hash = "sha256-TdtgOYHO2QH4W2jWBuAzYQwxwAPya2lC3VrIi7kvi+M=";
};
nativeBuildInputs = [

View file

@ -1,31 +1,30 @@
{ stdenv, lib
, fetchurl
, autoPatchelfHook
, gmp5, ncurses5, zlib
}:
let
os = if stdenv.isDarwin then "macos" else "linux";
arch = if stdenv.isAarch64 then "arm64" else "x86_64";
hashes =
{
"x86_64-linux" = "443a763487366fa960120bfe193441e6bbe86fdb31baeed7dbb17d410dee0522";
"aarch64-linux" = "f11bec3b094df0c0958a8f1e07af5570199e671a882ad5fe979f1e7e482e986d";
"x86_64-darwin" = "d05a88d13e240fdbc1bf64bd1a4a9ec4d3d53c95961bb9e338449b856df91853";
"aarch64-darwin" = "bb105e7aebae3c637b761017c6fb49d9696eba1022f27ec594aac9c2dbffd907";
};
in
stdenv.mkDerivation rec {
pname = "lamdera";
version = "1.0.1";
version = "1.1.0";
src = fetchurl {
url = "https://static.lamdera.com/bin/linux/lamdera-v${version}";
sha256 = "15dee9df5d4e71b07a65fbd89d0f7dcd8c3e7ba05fe2b0e7a30d29bbd1239d9f";
url = "https://static.lamdera.com/bin/lamdera-${version}-${os}-${arch}";
sha256 = hashes.${stdenv.system};
};
dontUnpack = true;
nativeBuildInputs = [
autoPatchelfHook
];
buildInputs = [
gmp5
ncurses5
zlib
];
installPhase = ''
install -m755 -D $src $out/bin/lamdera
'';
@ -34,7 +33,7 @@ stdenv.mkDerivation rec {
homepage = "https://lamdera.com";
license = licenses.unfree;
description = "A delightful platform for full-stack web apps";
platforms = [ "x86_64-linux" ];
platforms = [ "aarch64-linux" "x86_64-linux" "aarch64-darwin" "x86_64-darwin" ];
maintainers = with maintainers; [ Zimmi48 ];
};
}

View file

@ -37,6 +37,8 @@ stdenv.mkDerivation rec {
map (hardware: "--enable-${hardware}") extraHardwareSupport
;
enableParallelBuilding = true;
env.NIX_CFLAGS_COMPILE = toString (lib.optionals stdenv.cc.isGNU [
"-Wno-error=cpp"
"-Wno-error=strict-prototypes" # fixes build failure with hidapi 0.10.0

View file

@ -2,13 +2,13 @@
stdenv.mkDerivation rec {
pname = "zef";
version = "0.18.1";
version = "0.18.2";
src = fetchFromGitHub {
owner = "ugexe";
repo = "zef";
rev = "v${version}";
sha256 = "sha256-F4q8cHM1CLp9FLZTo6WmxEiK2sqmAx3LOHevNXn2kOw=";
sha256 = "sha256-0EWajziWoxWLGaj54FfvEMNPPTc2Wb6O050o2qWGJ9c=";
};
nativeBuildInputs = [ makeWrapper ];

View file

@ -1,13 +1,13 @@
{ lib, stdenv, fetchFromGitHub, cmake }:
stdenv.mkDerivation rec {
pname = "cmark-gfm";
version = "0.29.0.gfm.9";
version = "0.29.0.gfm.10";
src = fetchFromGitHub {
owner = "github";
repo = "cmark-gfm";
rev = version;
sha256 = "sha256-goQtLaiLCyEqVItPfH3e/pFroQWZuVT5oxLs1/GwdoU=";
sha256 = "sha256-8TGwxZB/sT+VmQ0eIwK8rHJrCZXvpG69t+HA3aFz5h8=";
};
nativeBuildInputs = [ cmake ];

View file

@ -12,7 +12,7 @@
buildPythonPackage rec {
pname = "aioesphomeapi";
version = "13.6.0";
version = "13.6.1";
format = "setuptools";
disabled = pythonOlder "3.9";
@ -21,7 +21,7 @@ buildPythonPackage rec {
owner = "esphome";
repo = pname;
rev = "refs/tags/v${version}";
hash = "sha256-M/KgQFt603V9wzd3SGexjDU7YWwStzVPZOoMBwp52/I=";
hash = "sha256-S2a5v4OeE0DC9J2JAHFQ6YyhWt6RXp3cP+zkONp+Bzc=";
};
propagatedBuildInputs = [

View file

@ -18,7 +18,7 @@
buildPythonPackage rec {
pname = "aiohomekit";
version = "2.6.2";
version = "2.6.3";
format = "pyproject";
disabled = pythonOlder "3.9";
@ -27,7 +27,7 @@ buildPythonPackage rec {
owner = "Jc2k";
repo = pname;
rev = "refs/tags/${version}";
hash = "sha256-FqZYJoNaRISuZ5m5ZeeregPdBT4fh8NdcgzEho0ZWd0=";
hash = "sha256-bVvz5ruc1OpRnSKso3XHAnppnN/4ySfRHodE787eLFw=";
};
nativeBuildInputs = [

View file

@ -12,7 +12,7 @@
buildPythonPackage rec {
pname = "aiounifi";
version = "45";
version = "46";
format = "setuptools";
disabled = pythonOlder "3.9";
@ -21,7 +21,7 @@ buildPythonPackage rec {
owner = "Kane610";
repo = pname;
rev = "refs/tags/v${version}";
hash = "sha256-VwuZj0TBc8BBO6ZxpIAR0s0hrOI1muiT4AsDZ+xZPcI=";
hash = "sha256-M6N7KTFYmtjmRSiIYummn2GbO3XemQzCEW+6GVXq9ZI=";
};
propagatedBuildInputs = [

View file

@ -1,10 +1,11 @@
{ lib, buildPythonPackage, fetchPypi, pythonOlder, python }:
{ lib, buildPythonPackage, fetchPypi, pythonOlder, python, pythonAtLeast }:
buildPythonPackage rec {
pname = "asynctest";
version = "0.13.0";
disabled = pythonOlder "3.5";
# Unmaintained and incompatible python 3.11
disabled = pythonAtLeast "3.11";
src = fetchPypi {
inherit pname version;

View file

@ -15,7 +15,7 @@
buildPythonPackage rec {
pname = "bellows";
version = "0.34.10";
version = "0.35.0";
format = "setuptools";
disabled = pythonOlder "3.8";
@ -24,7 +24,7 @@ buildPythonPackage rec {
owner = "zigpy";
repo = "bellows";
rev = "refs/tags/${version}";
hash = "sha256-eD9E/NbM3t1kWhPwY2SmjuCk+XVwklm4rwzISlQHtq0=";
hash = "sha256-LxIIaxrDWRdYV3K2Geuz0gdDEzqMzYN1tXvjIkQxQoA=";
};
propagatedBuildInputs = [

View file

@ -14,7 +14,7 @@
buildPythonPackage rec {
pname = "bimmer-connected";
version = "0.13.0";
version = "0.13.1";
format = "setuptools";
disabled = pythonOlder "3.6";
@ -23,7 +23,7 @@ buildPythonPackage rec {
owner = "bimmerconnected";
repo = "bimmer_connected";
rev = "refs/tags/${version}";
hash = "sha256-o6rCxSJtWqcHqcrhKaVSxEfFLDBikUU9jAszRjihM2o=";
hash = "sha256-bkJhVMcQifNWT/TkUDR2xHlKFHf0lydHdRMQotZWeCM=";
};
nativeBuildInputs = [
@ -50,6 +50,7 @@ buildPythonPackage rec {
];
meta = with lib; {
changelog = "https://github.com/bimmerconnected/bimmer_connected/releases/tag/${version}";
description = "Library to read data from the BMW Connected Drive portal";
homepage = "https://github.com/bimmerconnected/bimmer_connected";
license = licenses.asl20;

View file

@ -13,7 +13,7 @@
buildPythonPackage rec {
pname = "bleak-retry-connector";
version = "3.0.0";
version = "3.0.2";
format = "pyproject";
disabled = pythonOlder "3.7";
@ -22,7 +22,7 @@ buildPythonPackage rec {
owner = "Bluetooth-Devices";
repo = pname;
rev = "refs/tags/v${version}";
hash = "sha256-zBZDfUOmy2stIW3Ldm/VN/2G66vg4Lj6kdJCBwo885Y=";
hash = "sha256-mJQ3Y6o6HAqnktsPVuD9ebGgJo0BjSnlDTyqTpNPb1M=";
};
postPatch = ''

View file

@ -13,7 +13,7 @@
buildPythonPackage rec {
pname = "bleak";
version = "0.19.5";
version = "0.20.1";
format = "pyproject";
disabled = pythonOlder "3.8";
@ -22,7 +22,7 @@ buildPythonPackage rec {
owner = "hbldh";
repo = pname;
rev = "refs/tags/v${version}";
hash = "sha256-KKZrp5yNuslEPn/TS4eAOMT48C4A5Da5/NhklyFcy7M=";
hash = "sha256-8QFcoWKF2Hc49xJ+224lYaPpTVF1QsMu6Lu66J5ok0Y=";
};
nativeBuildInputs = [

View file

@ -11,7 +11,7 @@
buildPythonPackage rec {
pname = "brother";
version = "2.2.0";
version = "2.3.0";
format = "setuptools";
disabled = pythonOlder "3.8";
@ -20,7 +20,7 @@ buildPythonPackage rec {
owner = "bieniu";
repo = pname;
rev = "refs/tags/${version}";
hash = "sha256-bp4YerSTTsuWX3Yc+btlhwCNZO3eDxRgKNzLZFJbKV0=";
hash = "sha256-f55daLPBepNDIfZFAZWdkAvEkNb0cyYQt9LkqyIMrnY=";
};
propagatedBuildInputs = [

View file

@ -15,7 +15,7 @@
buildPythonPackage rec {
pname = "env-canada";
version = "0.5.29";
version = "0.5.30";
format = "setuptools";
disabled = pythonOlder "3.8";
@ -24,7 +24,7 @@ buildPythonPackage rec {
owner = "michaeldavie";
repo = "env_canada";
rev = "refs/tags/v${version}";
hash = "sha256-iGL2LrjVDj4rmzRe6JEBlZxqk6Zt1JlCsQdo+wYXb+0=";
hash = "sha256-bwoLxE47rLr7KNv0qEHjqKf5PJxBNdkaGLf86diTnKo=";
};
propagatedBuildInputs = [

View file

@ -8,19 +8,23 @@
, pycognito
, pytest-aiohttp
, pytestCheckHook
, pythonOlder
, snitun
, warrant
}:
buildPythonPackage rec {
pname = "hass-nabucasa";
version = "0.61.0";
version = "0.64.0";
format = "setuptools";
disabled = pythonOlder "3.8";
src = fetchFromGitHub {
owner = "nabucasa";
repo = pname;
rev = version;
hash = "sha256-KG2eCwGZWVtepJQdsSwFziWsT1AbV6rYWRIO/I/CR8g=";
rev = "refs/tags/${version}";
hash = "sha256-30Z8KBgcd53Nd9lf39Wt28PaYFcnBZ5LC7B+1cestKM=";
};
postPatch = ''
@ -40,18 +44,19 @@ buildPythonPackage rec {
warrant
];
doCheck = lib.versionAtLeast pytest-aiohttp.version "1.0.0";
nativeCheckInputs = [
pytest-aiohttp
pytestCheckHook
];
pythonImportsCheck = [ "hass_nabucasa" ];
pythonImportsCheck = [
"hass_nabucasa"
];
meta = with lib; {
homepage = "https://github.com/NabuCasa/hass-nabucasa";
description = "Python module for the Home Assistant cloud integration";
changelog = "https://github.com/NabuCasa/hass-nabucasa/releases/tag/${version}";
license = licenses.gpl3Only;
maintainers = with maintainers; [ Scriptkiddi ];
};

View file

@ -13,11 +13,12 @@
, pytest-golden
, pytestCheckHook
, pythonOlder
, pyyaml
}:
buildPythonPackage rec {
pname = "ical";
version = "4.2.9";
version = "4.5.3";
format = "setuptools";
disabled = pythonOlder "3.9";
@ -26,7 +27,7 @@ buildPythonPackage rec {
owner = "allenporter";
repo = pname;
rev = "refs/tags/${version}";
hash = "sha256-p1cvs+xLin2WK2zyqQFd1vWKzt+LU2mpDSieOgA7Qf8=";
hash = "sha256-CHo6khJ8Bqej/OdQBtcfa/luO1Gj8cu7h//MwPhWrMU=";
};
propagatedBuildInputs = [
@ -44,11 +45,9 @@ buildPythonPackage rec {
pytest-benchmark
pytest-golden
pytestCheckHook
pyyaml
];
# https://github.com/allenporter/ical/issues/136
disabledTests = [ "test_all_zoneinfo" ];
pythonImportsCheck = [
"ical"
];

View file

@ -7,14 +7,14 @@
buildPythonPackage rec {
pname = "insteon-frontend-home-assistant";
version = "0.3.3";
version = "0.3.4";
format = "pyproject";
disabled = pythonOlder "3.7";
src = fetchPypi {
inherit pname version;
hash = "sha256-aZ10z7xCVWq4V2+jPCybFa5LKGhvtchrwgTVFfxhM+o=";
hash = "sha256-c4IvtTn1pLcPHKPyP0FRv3NOu1+Ie42B/Jkc7ej1Roo=";
};
nativeBuildInputs = [

View file

@ -239,7 +239,7 @@ let
x86_64-linux = "sha256-A0A18kxgGNGHNQ67ZPUzh3Yq2LEcRV7CqR9EfP80NQk=";
aarch64-linux = "sha256-mU2jzuDu89jVmaG/M5bA3jSd7n7lDi+h8sdhs1z8p1A=";
x86_64-darwin = "sha256-9nNTpetvjyipD/l8vKlregl1j/OnZKAcOCoZQeRBvts=";
aarch64-darwin = "sha256-dOGUsdFImeOLcZ3VtgrNnd8A/HgIs/LYuH9GQV7A+78=";
aarch64-darwin = "sha256-FqYwI1YC5eqSv+DYj09DC5IaBfFDUCO97y+TFhGiWAA=";
}.${stdenv.system} or (throw "unsupported system ${stdenv.system}");
};

View file

@ -8,14 +8,14 @@
buildPythonPackage rec {
pname = "onvif-zeep-async";
version = "1.2.2";
version = "1.2.3";
format = "setuptools";
disabled = pythonOlder "3.7";
src = fetchPypi {
inherit pname version;
hash = "sha256-Mq+mARZQD48M6+9XwzX7V541Jqn/vJMSeiEm5k8/YII=";
hash = "sha256-ziFDSGKJB4wGvEF5x8eFMLVKHORXKkLbqBkAjy7FSX4=";
};
propagatedBuildInputs = [

View file

@ -15,7 +15,7 @@
buildPythonPackage rec {
pname = "pyinsteon";
version = "1.3.4";
version = "1.4.1";
format = "pyproject";
disabled = pythonOlder "3.6";
@ -24,7 +24,7 @@ buildPythonPackage rec {
owner = pname;
repo = pname;
rev = "refs/tags/${version}";
hash = "sha256-P/5kCXmUWQ/2yvzu/Pr0XBY8zm3fMMyoapGmdtRmxXo=";
hash = "sha256-K8uMyMNZwe6Zr/Qb98wmTLz2+45bx7cmoApnUW5oNPw=";
};
nativeBuildInputs = [

View file

@ -1,31 +0,0 @@
{ buildPythonPackage, lib, fetchPypi
, requests
, nose
, responses
}:
buildPythonPackage rec {
pname = "python-forecastio";
version = "1.4.0";
src = fetchPypi {
inherit pname version;
sha256 = "0m6lf4a46pnwm5xg9dnmwslwzrpnj6d9agw570grciivbvb1ji0l";
};
nativeCheckInputs = [ nose ];
propagatedBuildInputs = [ requests responses ];
checkPhase = ''
nosetests
'';
meta = with lib; {
homepage = "https://zeevgilovitz.com/python-forecast.io/";
description = "A thin Python Wrapper for the Dark Sky (formerly forecast.io) weather API";
license = licenses.bsd2;
maintainers = with maintainers; [ makefu ];
};
}

View file

@ -15,6 +15,7 @@
, home-assistant-chip-clusters
# optionals
, cryptography
, home-assistant-chip-core
# tests
@ -26,16 +27,16 @@
buildPythonPackage rec {
pname = "python-matter-server";
version = "3.1.0";
version = "3.2.0";
format = "pyproject";
disabled = pythonOlder "3.9";
disabled = pythonOlder "3.10";
src = fetchFromGitHub {
owner = "home-assistant-libs";
repo = "python-matter-server";
rev = "refs/tags/${version}";
hash = "sha256-nNf0Q3J5nrYDinMnl+p3HC4FYMX+GubYmtchfuATWms=";
hash = "sha256-T2DB3oWePYR8qKfUeVDMUA5JGdMk/onbpjBt2fWhCuw=";
};
nativeBuildInputs = [
@ -53,6 +54,7 @@ buildPythonPackage rec {
passthru.optional-dependencies = {
server = [
cryptography
home-assistant-chip-core
];
};

View file

@ -7,12 +7,13 @@
, fetchFromGitHub
, pytest-aiohttp
, pytestCheckHook
, pythonAtLeast
, pythonOlder
}:
buildPythonPackage rec {
pname = "snitun";
version = "0.33.0";
version = "0.34.0";
format = "setuptools";
disabled = pythonOlder "3.7";
@ -21,7 +22,7 @@ buildPythonPackage rec {
owner = "NabuCasa";
repo = pname;
rev = "refs/tags/${version}";
hash = "sha256-6aLvNw5/I5UvTRFzUK93YruKarM8S+gHIYd4hyTp/Qs=";
hash = "sha256-7UGsziNUI4dxdMGuJWrvsQiwl+IvcO/rQqEOjl9wS1Y=";
};
propagatedBuildInputs = [
@ -42,6 +43,9 @@ buildPythonPackage rec {
"test_snitun_single_runner_throttling"
# ConnectionResetError: [Errno 54] Connection reset by peer
"test_peer_listener_timeout"
] ++ lib.optional (pythonAtLeast "3.11") [
# TypeError: Passing coroutines is forbidden, use tasks explicitly.
"test_snitun_runner_updown"
];
pythonImportsCheck = [ "snitun" ];

View file

@ -398,7 +398,7 @@ let
else "sha256-QgOaUaq0V5HG9BOv9nEw8OTSlzINNFvbnyP8Vx+r9Xw=";
aarch64-linux = "sha256-zjnRtTG1j9cZTbP0Xnk2o/zWTNsP8T0n4Ai8IiAT3PE=";
x86_64-darwin = "sha256-RBLox9rzBKcZMm4NwnT7vQ/EjapWQJkqxuQ0LIdaM1E=";
aarch64-darwin = "sha256-BRzh79lYvMHsUMk8BEYDLHTpnmeZ9+0lrDtj4XI1YY4=";
aarch64-darwin = "sha256-tTk2KPFK4+0wA22xzb2C6qODgAbSxVbue0xk9JOjU04=";
}.${stdenv.hostPlatform.system} or (throw "unsupported system ${stdenv.hostPlatform.system}");
};

View file

@ -15,7 +15,7 @@
buildPythonPackage rec {
pname = "wled";
version = "0.15.0";
version = "0.16.0";
format = "pyproject";
disabled = pythonOlder "3.8";
@ -24,7 +24,7 @@ buildPythonPackage rec {
owner = "frenck";
repo = "python-wled";
rev = "refs/tags/v${version}";
hash = "sha256-GmentEsCJQ9N9kXfy5pbkGXi5CvZfbepdCWab+/fLJc=";
hash = "sha256-esINtvctvgl8AqNwCDVnGU+3j/UzEHqY8H1Rws1kQfs=";
};
nativeBuildInputs = [
@ -59,6 +59,7 @@ buildPythonPackage rec {
meta = with lib; {
description = "Asynchronous Python client for WLED";
homepage = "https://github.com/frenck/python-wled";
changelog = "https://github.com/frenck/python-wled/releases/tag/v${version}";
license = licenses.mit;
maintainers = with maintainers; [ hexa ];
};

View file

@ -13,7 +13,7 @@
buildPythonPackage rec {
pname = "zeroconf";
version = "0.47.4";
version = "0.54.0";
format = "pyproject";
disabled = pythonOlder "3.7";
@ -22,7 +22,7 @@ buildPythonPackage rec {
owner = "jstasiak";
repo = "python-zeroconf";
rev = "refs/tags/${version}";
hash = "sha256-ig0AMGNshe0bm7ZOkqV62hEcLeYlHBayMLk2fJQ8Uyo=";
hash = "sha256-rbolWawEbjF46Im/mqyOHpvk+4UojgFIaFoG4jbPwYY=";
};
nativeBuildInputs = [

View file

@ -12,7 +12,7 @@
buildPythonPackage rec {
pname = "zigpy-deconz";
version = "0.19.2";
version = "0.20.0";
format = "setuptools";
disabled = pythonOlder "3.7";
@ -21,7 +21,7 @@ buildPythonPackage rec {
owner = "zigpy";
repo = pname;
rev = "refs/tags/${version}";
hash = "sha256-Eu+6I904vwPewQesYtn8cWXoo36fQpa1Bw660tnV+Lw=";
hash = "sha256-P0vlNO6hQ+yVMFCHgLBynZuNabMFO2lx6UiYMH1eU1E=";
};
propagatedBuildInputs = [

View file

@ -13,7 +13,7 @@
buildPythonPackage rec {
pname = "zigpy-xbee";
version = "0.16.2";
version = "0.17.0";
# https://github.com/Martiusweb/asynctest/issues/152
# broken by upstream python bug with asynctest and
# is used exclusively by home-assistant with python 3.8
@ -23,7 +23,7 @@ buildPythonPackage rec {
owner = "zigpy";
repo = "zigpy-xbee";
rev = "refs/tags/${version}";
hash = "sha256-EzdKY/VisMUc/5yHN+7JUz1fDM4mCpk5TyApC24z4CU=";
hash = "sha256-XJsaUDCtaBF8vLyLzZ77h/KpV5aM4+JP8ldie7+b510=";
};
buildInputs = [
@ -44,6 +44,7 @@ buildPythonPackage rec {
];
meta = with lib; {
changelog = "https://github.com/zigpy/zigpy-xbee/releases/tag/${version}";
description = "A library which communicates with XBee radios for zigpy";
homepage = "https://github.com/zigpy/zigpy-xbee";
license = licenses.gpl3Plus;

View file

@ -1,15 +1,13 @@
{ lib
, async-timeout
, asynctest
, buildPythonPackage
, coloredlogs
, fetchFromGitHub
, jsonschema
, pyserial
, pyserial-asyncio
, pytest-asyncio
, pytest-mock
, pytest-timeout
, pytest-xdist
, pytestCheckHook
, pythonOlder
, voluptuous
@ -18,7 +16,7 @@
buildPythonPackage rec {
pname = "zigpy-znp";
version = "0.9.3";
version = "0.10.0";
format = "setuptools";
disabled = pythonOlder "3.7";
@ -27,15 +25,18 @@ buildPythonPackage rec {
owner = "zigpy";
repo = pname;
rev = "refs/tags/v${version}";
hash = "sha256-UTL7g9tIXtMVeBRq5Fdw5VqUB9H/LaobASwHlFPoO2s=";
hash = "sha256-pQ1T7MTrL789kd8cbbsjRLUaxd1yHF7sDwow2UksQ7c=";
};
postPatch = ''
substituteInPlace pyproject.toml \
--replace "timeout = 20" "timeout = 300"
'';
propagatedBuildInputs = [
async-timeout
coloredlogs
jsonschema
pyserial
pyserial-asyncio
voluptuous
zigpy
];
@ -44,9 +45,18 @@ buildPythonPackage rec {
pytest-asyncio
pytest-mock
pytest-timeout
pytest-xdist
pytestCheckHook
] ++ lib.optionals (pythonOlder "3.8") [
asynctest
];
pytestFlagsArray = [
# https://github.com/zigpy/zigpy-znp/issues/209
"--deselect=tests/application/test_joining.py::test_join_device"
"--deselect=tests/application/test_joining.py::test_permit_join"
"--deselect=tests/application/test_requests.py::test_request_recovery_route_rediscovery_zdo"
"--deselect=tests/application/test_requests.py::test_zigpy_request"
"--deselect=tests/application/test_requests.py::test_zigpy_request_failure"
"--deselect=tests/application/test_zdo_requests.py::test_mgmt_nwk_update_req"
];
pythonImportsCheck = [

View file

@ -17,7 +17,7 @@
buildPythonPackage rec {
pname = "zigpy";
version = "0.53.2";
version = "0.54.0";
format = "setuptools";
disabled = pythonOlder "3.8";
@ -26,7 +26,7 @@ buildPythonPackage rec {
owner = "zigpy";
repo = "zigpy";
rev = "refs/tags/${version}";
hash = "sha256-/IUJzMzbNKXQZkhwmoKoafMVw+6rD3Sw/coBLOi4FIk=";
hash = "sha256-5R08fols3LkZknddqProM7ekte9Z4wSh6ao7a99wbIg=";
};
propagatedBuildInputs = [

View file

@ -10,7 +10,7 @@
buildPythonPackage rec {
pname = "zwave-js-server-python";
version = "0.46.0";
version = "0.47.3";
format = "setuptools";
disabled = pythonOlder "3.9";
@ -19,7 +19,7 @@ buildPythonPackage rec {
owner = "home-assistant-libs";
repo = pname;
rev = "refs/tags/${version}";
hash = "sha256-EeQ0gUSDsHIJnp1Oc2Imld4ZFa5maX8xj6GzchHlCoc=";
hash = "sha256-TJXzB6w1Kp2cT3sRMtMyL0Nx3ZEUeaHfL0P+qC88ohU=";
};
propagatedBuildInputs = [

View file

@ -1,4 +1,4 @@
{ lib, stdenv, fetchMavenArtifact, fetchFromGitHub, jre, makeWrapper }:
{ lib, stdenv, stdenvNoCC, fetchMavenArtifact, fetchFromGitHub, jre, makeWrapper, symlinkJoin }:
let
version = "1.0.0";
@ -8,33 +8,62 @@ let
inherit version;
sha256 = "1mk8pv0g2xg9m0gsb96plbh6mc24xrlyrmnqac5mlbl4637l4q95";
};
in
stdenv.mkDerivation {
pname = "nailgun";
inherit version;
src = fetchFromGitHub {
owner = "facebook";
repo = "nailgun";
rev = "nailgun-all-v${version}";
sha256 = "1syyk4ss5vq1zf0ma00svn56lal53ffpikgqgzngzbwyksnfdlh6";
commonMeta = {
license = lib.licenses.asl20;
homepage = "http://www.martiansoftware.com/nailgun/";
platforms = lib.platforms.linux;
maintainers = with lib.maintainers; [ ];
};
makeFlags = [ "PREFIX=$(out)" ];
server = stdenvNoCC.mkDerivation {
pname = "nailgun-server";
inherit version;
nativeBuildInputs = [ makeWrapper ];
nativeBuildInputs = [ makeWrapper ];
postInstall = ''
makeWrapper ${jre}/bin/java $out/bin/ng-server \
--add-flags '-classpath ${nailgun-server.jar}:$CLASSPATH com.facebook.nailgun.NGServer'
'';
dontUnpack = true;
installPhase = ''
runHook preInstall
meta = with lib; {
makeWrapper ${jre}/bin/java $out/bin/ng-server \
--add-flags '-classpath ${nailgun-server.jar}:$CLASSPATH com.facebook.nailgun.NGServer'
runHook postInstall
'';
meta = commonMeta // {
description = "Server for running Java programs from the command line without incurring the JVM startup overhead";
sourceProvenance = with lib.sourceTypes; [ binaryBytecode ];
};
};
client = stdenv.mkDerivation {
pname = "nailgun-client";
inherit version;
src = fetchFromGitHub {
owner = "facebook";
repo = "nailgun";
rev = "nailgun-all-v${version}";
sha256 = "1syyk4ss5vq1zf0ma00svn56lal53ffpikgqgzngzbwyksnfdlh6";
};
makeFlags = [ "PREFIX=$(out)" ];
meta = commonMeta // {
description = "Client for running Java programs from the command line without incurring the JVM startup overhead";
};
};
in
symlinkJoin rec {
pname = "nailgun";
inherit client server version;
name = "${pname}-${version}";
paths = [ client server ];
meta = commonMeta // {
description = "Client, protocol, and server for running Java programs from the command line without incurring the JVM startup overhead";
homepage = "http://www.martiansoftware.com/nailgun/";
sourceProvenance = with sourceTypes; [ binaryBytecode ];
license = licenses.asl20;
platforms = platforms.linux;
maintainers = with maintainers; [ ];
};
}

View file

@ -0,0 +1,31 @@
{ lib, buildNpmPackage, fetchFromGitHub }:
buildNpmPackage rec {
pname = "pnpm-lock-export";
version = "0.4.0";
src = fetchFromGitHub {
owner = "cvent";
repo = "pnpm-lock-export";
rev = "v${version}";
hash = "sha256-vS6AW3R4go1Fdr3PBOCnuN4JDrDkl1lWVF7q+q+xDGg=";
};
npmDepsHash = "sha256-3uW/lzB+UDhFQtRb3X8szNlgAWTcSdwVdtyZvLu+cjI=";
postPatch = ''
cp ${./package-lock.json} package-lock.json
# Make the executable get installed to `bin/` instead of `bin/@cvent`
substituteInPlace package.json --replace "@cvent/pnpm-lock-export" "pnpm-lock-export"
'';
passthru = {
updateScript = ./update.sh;
};
meta = with lib; {
description = "A utility for converting pnpm-lock.yaml to other lockfile formats";
homepage = "https://github.com/cvent/pnpm-lock-export";
license = licenses.mit;
maintainers = with maintainers; [ ambroisie ];
};
}

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,47 @@
#!/usr/bin/env nix-shell
#!nix-shell -i bash -p nix wget nix-prefetch-github jq prefetch-npm-deps nodejs
# shellcheck shell=bash
if [ -n "$GITHUB_TOKEN" ]; then
TOKEN_ARGS=(--header "Authorization: token $GITHUB_TOKEN")
fi
if [[ $# -gt 1 || $1 == -* ]]; then
echo "Regenerates packaging data for the pnpm-lock-export packages."
echo "Usage: $0 [git release tag]"
exit 1
fi
set -x
cd "$(dirname "$0")"
version="$1"
set -euo pipefail
if [ -z "$version" ]; then
version="$(wget -O- "${TOKEN_ARGS[@]}" "https://api.github.com/repos/cvent/pnpm-lock-export/releases?per_page=1" | jq -r '.[0].tag_name')"
fi
# strip leading "v"
version="${version#v}"
# pnpm-lock-export repository
src_hash=$(nix-prefetch-github cvent pnpm-lock-export --rev "v${version}" | jq -r .sha256)
# Front-end dependencies
upstream_src="https://raw.githubusercontent.com/cvent/pnpm-lock-export/v$version"
trap 'rm -rf package.json' EXIT
wget "${TOKEN_ARGS[@]}" "$upstream_src/package.json"
npm install --package-lock-only
deps_hash=$(prefetch-npm-deps package-lock.json)
# Use friendlier hashes
src_hash=$(nix hash to-sri --type sha256 "$src_hash")
deps_hash=$(nix hash to-sri --type sha256 "$deps_hash")
sed -i -E -e "s#version = \".*\"#version = \"$version\"#" default.nix
sed -i -E -e "s#hash = \".*\"#hash = \"$src_hash\"#" default.nix
sed -i -E -e "s#npmDepsHash = \".*\"#npmDepsHash = \"$deps_hash\"#" default.nix

View file

@ -2,7 +2,7 @@
# Do not edit!
{
version = "2023.3.6";
version = "2023.4.0";
components = {
"3_day_blinds" = ps: with ps; [
];
@ -629,9 +629,6 @@
"danfoss_air" = ps: with ps; [
pydanfossair
];
"darksky" = ps: with ps; [
python-forecastio
];
"datadog" = ps: with ps; [
datadog
];
@ -661,12 +658,14 @@
bluetooth-data-tools
dbus-fast
fnvhash
av
hass-nabucasa
hassil
home-assistant-frontend
home-assistant-intents
ifaddr
janus
numpy
pillow
psutil-home-assistant
pyserial
@ -986,6 +985,8 @@
"escea" = ps: with ps; [
pescea
];
"esera_onewire" = ps: with ps; [
];
"esphome" = ps: with ps; [
aioesphomeapi
aiohttp-cors
@ -2104,8 +2105,6 @@
fnvhash
sqlalchemy
];
"magicseaweed" = ps: with ps; [
]; # missing inputs: magicseaweed
"mailbox" = ps: with ps; [
aiohttp-cors
];
@ -2541,6 +2540,7 @@
nuheat
];
"nuki" = ps: with ps; [
aiohttp-cors
pynuki
];
"numato" = ps: with ps; [
@ -2685,12 +2685,25 @@
]; # missing inputs: lightify
"otbr" = ps: with ps; [
aiohttp-cors
bellows
fnvhash
ifaddr
janus
pillow
psutil-home-assistant
pyroute2
pyserial-asyncio
pyserial
python-otbr-api
pyudev
sqlalchemy
zeroconf
zha-quirks
zigpy-deconz
zigpy-xbee
zigpy-zigate
zigpy-znp
zigpy
];
"otp" = ps: with ps; [
pyotp
@ -2902,6 +2915,8 @@
pillow
pyzbar
];
"quadrafire" = ps: with ps; [
];
"quantum_gateway" = ps: with ps; [
quantum-gateway
];
@ -4001,6 +4016,8 @@
"verisure" = ps: with ps; [
vsure
];
"vermont_castings" = ps: with ps; [
];
"versasense" = ps: with ps; [
pyversasense
];
@ -4030,6 +4047,12 @@
"vlc_telnet" = ps: with ps; [
aiovlc
];
"voice_assistant" = ps: with ps; [
aiohttp-cors
hassil
home-assistant-intents
mutagen
];
"voicerss" = ps: with ps; [
];
"volkszaehler" = ps: with ps; [
@ -4432,7 +4455,6 @@
"cpuspeed"
"crownstone"
"daikin"
"darksky"
"datadog"
"debugpy"
"deconz"
@ -4469,6 +4491,7 @@
"ecobee"
"econet"
"ecowitt"
"edl21"
"efergy"
"eight_sleep"
"elgato"
@ -4527,6 +4550,7 @@
"fritzbox_callmonitor"
"fronius"
"frontend"
"frontier_silicon"
"fully_kiosk"
"garages_amsterdam"
"gdacs"
@ -4735,6 +4759,7 @@
"network"
"nexia"
"nextbus"
"nextcloud"
"nextdns"
"nibe_heatpump"
"nightscout"
@ -4752,6 +4777,7 @@
"nut"
"nws"
"nx584"
"obihai"
"octoprint"
"omnilogic"
"onboarding"
@ -4942,6 +4968,7 @@
"telegram"
"telegram_bot"
"tellduslive"
"temper"
"template"
"tesla_wall_connector"
"text"
@ -5007,6 +5034,7 @@
"vilfo"
"vizio"
"vlc_telnet"
"voice_assistant"
"voicerss"
"volumio"
"volvooncall"

View file

@ -69,15 +69,6 @@ let
];
});
bimmer-connected = super.bimmer-connected.overridePythonAttrs (oldAttrs: rec {
version = "0.12.1";
src = fetchFromGitHub {
inherit (oldAttrs.src) owner repo;
rev = "refs/tags/${version}";
hash = "sha256-wLQ2UkedLSwfbUqmb85QgsDYh0zcbgQOMnhbRHW5Bnw=";
};
});
dsmr-parser = super.dsmr-parser.overridePythonAttrs (oldAttrs: rec {
version = "0.33";
src = fetchFromGitHub {
@ -98,15 +89,6 @@ let
doCheck = false;
});
gios = super.gios.overridePythonAttrs (oldAttrs: rec {
version = "2.3.0";
src = fetchFromGitHub {
inherit (oldAttrs.src) owner repo;
rev = "refs/tags/${version}";
hash = "sha256-/lAENP9wKZ+h2Iq2e9S7s7Naa0CTl/I2cwCxBEAwsrA=";
};
});
jaraco-abode = super.jaraco-abode.overridePythonAttrs (oldAttrs: rec {
version = "3.3.0";
src = fetchFromGitHub {
@ -168,16 +150,6 @@ let
};
});
# https://github.com/home-assistant/core/pull/80931
pyjwt = super.pyjwt.overridePythonAttrs (oldAttrs: rec {
version = "2.5.0";
src = super.fetchPypi {
pname = "PyJWT";
inherit version;
hash = "sha256-53q4lICQXYaZhEKsV4jzUzP6hfZQR6U0rcOO3zyI/Ds=";
};
});
pykaleidescape = super.pykaleidescape.overridePythonAttrs (oldAttrs: rec {
version = "1.0.1";
src = fetchFromGitHub {
@ -242,22 +214,6 @@ let
inherit version;
hash = "sha256-w0PwtUZJX116I5xwv1CpmkjXMhwWW4Kvr6hIO56+v24=";
};
nativeCheckInputs = oldAttrs.nativeCheckInputs ++ (with super; [
pytest-xdist
]);
disabledTestPaths = (oldAttrs.disabledTestPaths or []) ++ [
"test/aaa_profiling"
"test/ext/mypy"
];
});
subarulink = super.subarulink.overridePythonAttrs (oldAttrs: rec {
version = "0.7.0";
src = fetchFromGitHub {
inherit (oldAttrs.src) owner repo;
rev = "refs/tags/v${version}";
hash = "sha256-BxnpdZwbnZF1oWcu3jRDeXvcaweOuVk1R79KpMLB02c=";
};
});
# Pinned due to API changes in 0.3.0
@ -282,16 +238,6 @@ let
};
});
# Pinned due to API changes in 2.0
vsure = super.vsure.overridePythonAttrs (oldAttrs: rec {
version = "1.8.1";
src = super.fetchPypi {
pname = "vsure";
inherit version;
hash = "sha256-Zh83t7yjZU2NjOgCkqPUHbqvEyEWXGITRgr5d2fLtRI=";
};
});
# Pinned due to API changes ~1.0
vultr = super.vultr.overridePythonAttrs (oldAttrs: rec {
version = "0.1.2";
@ -327,7 +273,7 @@ let
extraBuildInputs = extraPackages python.pkgs;
# Don't forget to run parse-requirements.py after updating
hassVersion = "2023.3.6";
hassVersion = "2023.4.0";
in python.pkgs.buildPythonApplication rec {
pname = "homeassistant";
@ -343,7 +289,7 @@ in python.pkgs.buildPythonApplication rec {
# Primary source is the pypi sdist, because it contains translations
src = fetchPypi {
inherit pname version;
hash = "sha256-4PS6ozyqJddF6Jp9cKRojUtHTTNd3xo2oTDboowQACk=";
hash = "sha256-50zDSXFd9VmPlt5DrKL240AuhF87rXX7ieMJbmIoj/4=";
};
# Secondary source is git for tests
@ -351,7 +297,7 @@ in python.pkgs.buildPythonApplication rec {
owner = "home-assistant";
repo = "core";
rev = "refs/tags/${version}";
hash = "sha256-+u1kCyIzTQrMvO6slr1YW0kZqkh4QGxUo5ucJzxkfEE=";
hash = "sha256-cel7WtndC/UXUgo9paP2QiSzdpBCo7s570cK8MouVdQ=";
};
nativeBuildInputs = with python3.pkgs; [
@ -425,6 +371,7 @@ in python.pkgs.buildPythonApplication rec {
python-slugify
pyyaml
requests
ulid-transform
voluptuous
voluptuous-serialize
yarl
@ -477,6 +424,8 @@ in python.pkgs.buildPythonApplication rec {
"--showlocals"
# AssertionError: assert 1 == 0
"--deselect tests/test_config.py::test_merge"
# AssertionError: assert 2 == 1
"--deselect=tests/helpers/test_translation.py::test_caching"
# tests are located in tests/
"tests"
];

View file

@ -4,7 +4,7 @@ buildPythonPackage rec {
# the frontend version corresponding to a specific home-assistant version can be found here
# https://github.com/home-assistant/home-assistant/blob/master/homeassistant/components/frontend/manifest.json
pname = "home-assistant-frontend";
version = "20230309.1";
version = "20230405.0";
format = "wheel";
src = fetchPypi {
@ -12,7 +12,7 @@ buildPythonPackage rec {
pname = "home_assistant_frontend";
dist = "py3";
python = "py3";
hash = "sha256-o9NIJHmjr3hQxCNl+DGyIfAfXugn8o9O30B46xqsSXo=";
hash = "sha256-9n/LziR4YJLUK3UKHxWlrxJcr2Dx8ph52j8Xbl7MZ/Y=";
};
# there is nothing to strip in this package

View file

@ -19,7 +19,7 @@
buildPythonPackage rec {
pname = "home-assistant-intents";
version = "2023.2.28";
version = "2023.3.29";
format = "pyproject";
disabled = pythonOlder "3.9";
@ -28,7 +28,7 @@ buildPythonPackage rec {
owner = "home-assistant";
repo = "intents";
rev = "refs/tags/${version}";
hash = "sha256-u9CLPikht+T9wdQpLELPH/t+pZNcaOfbtfWT6DBwZaw=";
hash = "sha256-wMm2C2C+2+pW5kgMHoYFKpwnOJbS5RwpZK5HiAno0H8=";
};
sourceRoot = "source/package";

View file

@ -8,7 +8,7 @@
buildPythonPackage rec {
pname = "homeassistant-stubs";
version = "2023.3.6";
version = "2023.4.0";
format = "pyproject";
disabled = python.version != home-assistant.python.version;
@ -17,7 +17,7 @@ buildPythonPackage rec {
owner = "KapJI";
repo = "homeassistant-stubs";
rev = "refs/tags/${version}";
hash = "sha256-VheYp6uwKAxfSCLF6OCB+VYunHSrmnlqHPM1w5e9KYY=";
hash = "sha256-Gu65PlRjAqKK6BdzNjcHeRy4Cqr6z2o+PRwmDFkSlMA=";
};
nativeBuildInputs = [

View file

@ -39,25 +39,24 @@ let
};
extraDisabledTests = {
roku = [
# homeassistant.components.roku.media_player:media_player.py:428 Media type music is not supported with format None (mime: audio/x-matroska)
"test_services_play_media_audio"
vesync = [
# homeassistant.components.vesync:config_validation.py:863 The 'vesync' option has been removed, please remove it from your configuration
"test_async_get_config_entry_diagnostics__single_humidifier"
"test_async_get_device_diagnostics__single_fan"
];
};
extraPytestFlagsArray = {
dnsip = [
# AssertionError: assert <FlowResultType.FORM: 'form'> == <FlowResultTy...create_entry'>
# Tries to resolve DNS entries
"--deselect tests/components/dnsip/test_config_flow.py::test_options_flow"
];
history_stats = [
# Flaky: AssertionError: assert '0.0' == '12.0'
"--deselect tests/components/history_stats/test_sensor.py::test_end_time_with_microseconds_zeroed"
];
logbook = [
"--deselect tests/components/logbook/test_websocket_api.py::test_recorder_is_far_behind "
];
modbus = [
# homeassistant.components.modbus.modbus:modbus.py:317 Pymodbus: modbusTest: Modbus Error: test connect exception
"--deselect tests/components/modbus/test_init.py::test_pymodbus_connect_fail"
];
modem_callerid = [

View file

@ -81,7 +81,7 @@ buildBazelPackage rec {
fetchAttrs = {
sha256 = {
x86_64-linux = "sha256-H2s8sTbmKF+yRfSzLsZAT2ckFuunFwh/FMSKj+GYyPM=";
aarch64-linux = "sha256-R9jzy/dpdCcGgT9yq59Wo/IN/bVo6fxnVPGhLMZ9fbM=";
aarch64-linux = "sha256-1/z7sZYMiuB4Re2itDZydsFVEel2NOYmi6vRmBGVO/4=";
}.${stdenv.system} or (throw "unsupported system ${stdenv.system}");
dontUseCmakeConfigure = true;
dontUseGnConfigure = true;

View file

@ -0,0 +1,5 @@
{ lib, newScope, IOKit, CoreFoundation }:
lib.makeScope newScope (self: with self; {
query = callPackage ./query.nix { inherit IOKit CoreFoundation; };
})

View file

@ -0,0 +1,35 @@
{ stdenv
, lib
, rustPlatform
, nushell
, nix-update-script
, IOKit
, CoreFoundation
}:
let
pname = "nushell_plugin_query";
in
rustPlatform.buildRustPackage {
inherit pname;
version = nushell.version;
src = nushell.src;
cargoHash = "sha256-tHTAz3/4EihdVGXAePCmcOUOjeaqjrY6fIESOGcCW/8=";
buildInputs = lib.optionals stdenv.isDarwin [ IOKit CoreFoundation ];
cargoBuildFlags = [ "--package nu_plugin_query" ];
# compilation fails with a missing symbol
doCheck = false;
meta = with lib; {
description = "A Nushell plugin to query JSON, XML, and various web data";
homepage = "https://github.com/nushell/nushell/tree/main/crates/nu_plugin_query";
license = licenses.mpl20;
maintainers = with maintainers; [ happysalada ];
platforms = with platforms; all;
};
}

View file

@ -0,0 +1,37 @@
{ lib
, stdenv
, darwin
, rustPlatform
, fetchFromGitHub
, pkg-config
}:
rustPlatform.buildRustPackage rec {
pname = "aichat";
version = "0.8.0";
src = fetchFromGitHub {
owner = "sigoden";
repo = "aichat";
rev = "v${version}";
hash = "sha256-E/QslRDeifFHlHUELv9rYHjfCAB1yXXiXlWOyPNkfps=";
};
cargoHash = "sha256-7TTHBeZ68G6k5eHBL1zDGsYiTyx27fBbN7Rl9AiZTng=";
nativeBuildInputs = [
pkg-config
];
buildInputs = lib.optionals stdenv.isDarwin [
darwin.apple_sdk.frameworks.CoreFoundation
darwin.apple_sdk.frameworks.Security
];
meta = with lib; {
description = "Chat with gpt-3.5/chatgpt in terminal.";
homepage = "https://github.com/sigoden/aichat";
license = licenses.mit;
maintainers = with maintainers; [ mwdomino ];
};
}

View file

@ -2,14 +2,14 @@
rustPlatform.buildRustPackage rec {
pname = "pipe-rename";
version = "1.6.1";
version = "1.6.2";
src = fetchCrate {
inherit pname version;
sha256 = "sha256-95Gj5iy8VYBzpV0kmGhronIR5LSjelfOueBQD/8gbfw=";
sha256 = "sha256-eMTqKKcFeEICref35/RHWNzpnjLDrG7rjcXjOSAnwIo=";
};
cargoSha256 = "sha256-HiElAPgNeICEVbMBfK6syCoQb5smHhBH1MOuo2swci4=";
cargoSha256 = "sha256-X4wmhyWpjq4EyAVsfdeP76NSC9tcZjZ6woCsRvw0Gzo=";
nativeCheckInputs = [ python3 ];

View file

@ -0,0 +1,31 @@
{ stdenv, lib, fetchzip, patchelf }:
stdenv.mkDerivation rec {
pname = "zrok";
version = "0.3.4";
src = fetchzip {
url = "https://github.com/openziti/zrok/releases/download/v${version}/zrok_${version}_linux_amd64.tar.gz";
stripRoot = false;
sha256 = "sha256-lfsKOo53DarrczQfFhZED2vmzxIyq/TCPtVZECLMV3U=";
};
installPhase = let
interpreter = "$(< \"$NIX_CC/nix-support/dynamic-linker\")";
in ''
mkdir -p $out/bin
cp zrok $out/bin/
chmod +x $out/bin/zrok
patchelf --set-interpreter "${interpreter}" "$out/bin/zrok"
'';
meta = {
description = "Geo-scale, next-generation sharing platform built on top of OpenZiti";
homepage = "https://zrok.io";
maintainers = [ lib.maintainers.bandresen ];
platforms = [ "x86_64-linux" ];
sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ];
license = lib.licenses.apsl20;
};
}

View file

@ -1382,6 +1382,8 @@ with pkgs;
ahcpd = callPackage ../tools/networking/ahcpd { };
aichat = callPackage ../tools/misc/aichat { };
aide = callPackage ../tools/security/aide { };
aioblescan = with python3Packages; toPythonApplication aioblescan;
@ -1831,6 +1833,8 @@ with pkgs;
git-appraise = callPackage ../applications/version-management/git-appraise { };
git-archive-all = python3.pkgs.callPackage ../applications/version-management/git-archive-all { };
git-backup = callPackage ../applications/version-management/git-backup {
openssl = openssl_1_1;
inherit (darwin.apple_sdk.frameworks) Security;
@ -18592,6 +18596,8 @@ with pkgs;
};
}));
pnpm-lock-export = callPackage ../development/web/pnpm-lock-export { };
portableService = callPackage ../build-support/portable-service { };
polar = callPackage ../tools/misc/polar { };
@ -26832,6 +26838,10 @@ with pkgs;
nu_scripts = callPackage ../shells/nushell/nu_scripts { };
nushellPlugins = callPackage ../shells/nushell/plugins {
inherit (darwin.apple_sdk_11_0.frameworks) IOKit CoreFoundation;
};
nettools = if stdenv.isLinux
then callPackage ../os-specific/linux/net-tools { }
else unixtools.nettools;
@ -39472,6 +39482,8 @@ with pkgs;
zoneminder = callPackage ../servers/zoneminder { };
zrok = callPackage ../tools/networking/zrok { };
xcp = callPackage ../tools/misc/xcp { };
zxcvbn-c = callPackage ../development/libraries/zxcvbn-c { };

View file

@ -220,6 +220,7 @@ mapAliases ({
pytestpep8 = throw "pytestpep8 was removed because it is abandoned and no longer compatible with pytest v6.0"; # added 2020-12-10
pytestquickcheck = pytest-quickcheck; # added 2021-07-20
pytestrunner = pytest-runner; # added 2021-01-04
python-forecastio = throw "python-forecastio has been removed, as the Dark Sky service was shut down."; # added 2023-04-05
python-igraph = igraph; # added 2021-11-11
python-lz4 = lz4; # added 2018-06-01
python_magic = python-magic; # added 2022-05-07

View file

@ -9479,8 +9479,6 @@ self: super: with self; {
python-fontconfig = callPackage ../development/python-modules/python-fontconfig { };
python-forecastio = callPackage ../development/python-modules/python-forecastio { };
python-frontmatter = callPackage ../development/python-modules/python-frontmatter { };
python-gammu = callPackage ../development/python-modules/python-gammu { };