Merge staging-next into staging

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

View file

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

View file

@ -35,7 +35,10 @@ let
# ... # ...
# } ]; # } ];
usedPlatforms = config: 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 optional (config ? platform) config.platform
++ concatMap usedPlatforms (attrValues config) ++ concatMap usedPlatforms (attrValues config)
else if isList config then else if isList config then
@ -505,6 +508,7 @@ in {
"mysensors" "mysensors"
"nad" "nad"
"numato" "numato"
"otbr"
"rflink" "rflink"
"rfxtrx" "rfxtrx"
"scsgate" "scsgate"

View file

@ -48,6 +48,8 @@ let
# User and group # User and group
User = cfg.user; User = cfg.user;
Group = cfg.group; Group = cfg.group;
# Working directory
WorkingDirectory = cfg.package;
# State directory and mode # State directory and mode
StateDirectory = "mastodon"; StateDirectory = "mastodon";
StateDirectoryMode = "0750"; StateDirectoryMode = "0750";
@ -110,6 +112,37 @@ let
$sudo ${cfg.package}/bin/tootctl "$@" $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 { in {
options = { options = {
@ -195,12 +228,53 @@ in {
type = lib.types.port; type = lib.types.port;
default = 55002; default = 55002;
}; };
sidekiqThreads = lib.mkOption { 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; type = lib.types.int;
default = 25; 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 { vapidPublicKeyFile = lib.mkOption {
description = lib.mdDoc '' description = lib.mdDoc ''
Path to file containing the public key used for Web Push 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 = [ assertions = [
{ {
assertion = databaseActuallyCreateLocally -> (cfg.user == cfg.database.user); assertion = databaseActuallyCreateLocally -> (cfg.user == cfg.database.user);
@ -517,6 +591,12 @@ in {
environment.systemPackages = [ mastodonTootctl ]; environment.systemPackages = [ mastodonTootctl ];
systemd.targets.mastodon = {
description = "Target for all Mastodon services";
wantedBy = [ "multi-user.target" ];
after = [ "network.target" ];
};
systemd.services.mastodon-init-dirs = { systemd.services.mastodon-init-dirs = {
script = '' script = ''
umask 077 umask 077
@ -551,7 +631,7 @@ in {
environment = env; environment = env;
serviceConfig = { serviceConfig = {
Type = "oneshot"; Type = "oneshot";
WorkingDirectory = cfg.package; SyslogIdentifier = "mastodon-init-dirs";
# System Call Filtering # System Call Filtering
SystemCallFilter = [ ("~" + lib.concatStringsSep " " (systemCallsList ++ [ "@resources" ])) "@chown" "pipe" "pipe2" ]; SystemCallFilter = [ ("~" + lib.concatStringsSep " " (systemCallsList ++ [ "@resources" ])) "@chown" "pipe" "pipe2" ];
} // cfgService; } // cfgService;
@ -609,7 +689,7 @@ in {
requires = [ "mastodon-init-dirs.service" ] requires = [ "mastodon-init-dirs.service" ]
++ lib.optional databaseActuallyCreateLocally "postgresql.service" ++ lib.optional databaseActuallyCreateLocally "postgresql.service"
++ lib.optional cfg.automaticMigrations "mastodon-init-db.service"; ++ lib.optional cfg.automaticMigrations "mastodon-init-db.service";
wantedBy = [ "multi-user.target" ]; wantedBy = [ "mastodon.target" ];
description = "Mastodon streaming"; description = "Mastodon streaming";
environment = env // (if cfg.enableUnixSocket environment = env // (if cfg.enableUnixSocket
then { SOCKET = "/run/mastodon-streaming/streaming.socket"; } then { SOCKET = "/run/mastodon-streaming/streaming.socket"; }
@ -636,7 +716,7 @@ in {
requires = [ "mastodon-init-dirs.service" ] requires = [ "mastodon-init-dirs.service" ]
++ lib.optional databaseActuallyCreateLocally "postgresql.service" ++ lib.optional databaseActuallyCreateLocally "postgresql.service"
++ lib.optional cfg.automaticMigrations "mastodon-init-db.service"; ++ lib.optional cfg.automaticMigrations "mastodon-init-db.service";
wantedBy = [ "multi-user.target" ]; wantedBy = [ "mastodon.target" ];
description = "Mastodon web"; description = "Mastodon web";
environment = env // (if cfg.enableUnixSocket environment = env // (if cfg.enableUnixSocket
then { SOCKET = "/run/mastodon-web/web.socket"; } then { SOCKET = "/run/mastodon-web/web.socket"; }
@ -657,31 +737,6 @@ in {
path = with pkgs; [ file imagemagick ffmpeg ]; 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 { systemd.services.mastodon-media-auto-remove = lib.mkIf cfg.mediaAutoRemove.enable {
description = "Mastodon media auto remove"; description = "Mastodon media auto remove";
environment = env; environment = env;
@ -757,7 +812,9 @@ in {
]; ];
users.groups.${cfg.group}.members = lib.optional cfg.configureNginx config.services.nginx.user; users.groups.${cfg.group}.members = lib.optional cfg.configureNginx config.services.nginx.user;
}; }
{ systemd.services = sidekiqUnits; }
]);
meta.maintainers = with lib.maintainers; [ happy-river erictapen ]; meta.maintainers = with lib.maintainers; [ happy-river erictapen ];

View file

@ -9,7 +9,7 @@
${extraInit} ${extraInit}
server.wait_for_unit("redis-mastodon.service") 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-streaming.service")
server.wait_for_unit("mastodon-web.service") server.wait_for_unit("mastodon-web.service")
server.wait_for_open_port(55000) server.wait_for_open_port(55000)

View file

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

View file

@ -10,6 +10,7 @@ rec {
}; };
enableParallelBuilding = true; enableParallelBuilding = true;
enableParallelInstalling = false;
hardeningDisable = [ "fortify" ]; hardeningDisable = [ "fortify" ];

View file

@ -14,6 +14,18 @@ let
hash = "sha256-lfwC9/wfMZmqpHqKdXQ3E0z2GOnZlMhO/9U/Uww4WG8="; 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 in

View file

@ -2,11 +2,11 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "varscan"; pname = "varscan";
version = "2.4.5"; version = "2.4.6";
src = fetchurl { src = fetchurl {
url = "https://github.com/dkoboldt/varscan/raw/master/VarScan.v${version}.jar"; url = "https://github.com/dkoboldt/varscan/raw/master/VarScan.v${version}.jar";
sha256 = "sha256-q4jkkKTqXHiaAPRThqo82i43+B4NaHUUuMyefW6tgg0="; sha256 = "sha256-6CcjC0epbKsDXFxxeOUImSGh4cjR5INqawL/iOOkwqs=";
}; };
nativeBuildInputs = [ makeWrapper ]; 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 { stdenv
, cacert , cacert
, lib , lib
, writeCBin
}: }:
args@{ args@{
@ -75,6 +76,28 @@ let
${lib.strings.concatStringsSep " " additionalFlags} \ ${lib.strings.concatStringsSep " " additionalFlags} \
${lib.strings.concatStringsSep " " targets} ${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 in
stdenv.mkDerivation (fBuildAttrs // { stdenv.mkDerivation (fBuildAttrs // {
@ -149,6 +172,10 @@ stdenv.mkDerivation (fBuildAttrs // {
new_target="$(readlink "$symlink" | sed "s,$NIX_BUILD_TOP,NIX_BUILD_TOP,")" new_target="$(readlink "$symlink" | sed "s,$NIX_BUILD_TOP,NIX_BUILD_TOP,")"
rm "$symlink" rm "$symlink"
ln -sf "$new_target" "$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 done
echo '${bazel.name}' > $bazelOut/external/.nix-bazel-version echo '${bazel.name}' > $bazelOut/external/.nix-bazel-version

View file

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

View file

@ -1,31 +1,30 @@
{ stdenv, lib { stdenv, lib
, fetchurl , 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 { stdenv.mkDerivation rec {
pname = "lamdera"; pname = "lamdera";
version = "1.0.1"; version = "1.1.0";
src = fetchurl { src = fetchurl {
url = "https://static.lamdera.com/bin/linux/lamdera-v${version}"; url = "https://static.lamdera.com/bin/lamdera-${version}-${os}-${arch}";
sha256 = "15dee9df5d4e71b07a65fbd89d0f7dcd8c3e7ba05fe2b0e7a30d29bbd1239d9f"; sha256 = hashes.${stdenv.system};
}; };
dontUnpack = true; dontUnpack = true;
nativeBuildInputs = [
autoPatchelfHook
];
buildInputs = [
gmp5
ncurses5
zlib
];
installPhase = '' installPhase = ''
install -m755 -D $src $out/bin/lamdera install -m755 -D $src $out/bin/lamdera
''; '';
@ -34,7 +33,7 @@ stdenv.mkDerivation rec {
homepage = "https://lamdera.com"; homepage = "https://lamdera.com";
license = licenses.unfree; license = licenses.unfree;
description = "A delightful platform for full-stack web apps"; 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 ]; maintainers = with maintainers; [ Zimmi48 ];
}; };
} }

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

@ -239,7 +239,7 @@ let
x86_64-linux = "sha256-A0A18kxgGNGHNQ67ZPUzh3Yq2LEcRV7CqR9EfP80NQk="; x86_64-linux = "sha256-A0A18kxgGNGHNQ67ZPUzh3Yq2LEcRV7CqR9EfP80NQk=";
aarch64-linux = "sha256-mU2jzuDu89jVmaG/M5bA3jSd7n7lDi+h8sdhs1z8p1A="; aarch64-linux = "sha256-mU2jzuDu89jVmaG/M5bA3jSd7n7lDi+h8sdhs1z8p1A=";
x86_64-darwin = "sha256-9nNTpetvjyipD/l8vKlregl1j/OnZKAcOCoZQeRBvts="; 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}"); }.${stdenv.system} or (throw "unsupported system ${stdenv.system}");
}; };

View file

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

View file

@ -15,7 +15,7 @@
buildPythonPackage rec { buildPythonPackage rec {
pname = "pyinsteon"; pname = "pyinsteon";
version = "1.3.4"; version = "1.4.1";
format = "pyproject"; format = "pyproject";
disabled = pythonOlder "3.6"; disabled = pythonOlder "3.6";
@ -24,7 +24,7 @@ buildPythonPackage rec {
owner = pname; owner = pname;
repo = pname; repo = pname;
rev = "refs/tags/${version}"; rev = "refs/tags/${version}";
hash = "sha256-P/5kCXmUWQ/2yvzu/Pr0XBY8zm3fMMyoapGmdtRmxXo="; hash = "sha256-K8uMyMNZwe6Zr/Qb98wmTLz2+45bx7cmoApnUW5oNPw=";
}; };
nativeBuildInputs = [ 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 , home-assistant-chip-clusters
# optionals # optionals
, cryptography
, home-assistant-chip-core , home-assistant-chip-core
# tests # tests
@ -26,16 +27,16 @@
buildPythonPackage rec { buildPythonPackage rec {
pname = "python-matter-server"; pname = "python-matter-server";
version = "3.1.0"; version = "3.2.0";
format = "pyproject"; format = "pyproject";
disabled = pythonOlder "3.9"; disabled = pythonOlder "3.10";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "home-assistant-libs"; owner = "home-assistant-libs";
repo = "python-matter-server"; repo = "python-matter-server";
rev = "refs/tags/${version}"; rev = "refs/tags/${version}";
hash = "sha256-nNf0Q3J5nrYDinMnl+p3HC4FYMX+GubYmtchfuATWms="; hash = "sha256-T2DB3oWePYR8qKfUeVDMUA5JGdMk/onbpjBt2fWhCuw=";
}; };
nativeBuildInputs = [ nativeBuildInputs = [
@ -53,6 +54,7 @@ buildPythonPackage rec {
passthru.optional-dependencies = { passthru.optional-dependencies = {
server = [ server = [
cryptography
home-assistant-chip-core home-assistant-chip-core
]; ];
}; };

View file

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

View file

@ -398,7 +398,7 @@ let
else "sha256-QgOaUaq0V5HG9BOv9nEw8OTSlzINNFvbnyP8Vx+r9Xw="; else "sha256-QgOaUaq0V5HG9BOv9nEw8OTSlzINNFvbnyP8Vx+r9Xw=";
aarch64-linux = "sha256-zjnRtTG1j9cZTbP0Xnk2o/zWTNsP8T0n4Ai8IiAT3PE="; aarch64-linux = "sha256-zjnRtTG1j9cZTbP0Xnk2o/zWTNsP8T0n4Ai8IiAT3PE=";
x86_64-darwin = "sha256-RBLox9rzBKcZMm4NwnT7vQ/EjapWQJkqxuQ0LIdaM1E="; 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}"); }.${stdenv.hostPlatform.system} or (throw "unsupported system ${stdenv.hostPlatform.system}");
}; };

View file

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

View file

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

View file

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

View file

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

View file

@ -1,15 +1,13 @@
{ lib { lib
, async-timeout , async-timeout
, asynctest
, buildPythonPackage , buildPythonPackage
, coloredlogs , coloredlogs
, fetchFromGitHub , fetchFromGitHub
, jsonschema , jsonschema
, pyserial
, pyserial-asyncio
, pytest-asyncio , pytest-asyncio
, pytest-mock , pytest-mock
, pytest-timeout , pytest-timeout
, pytest-xdist
, pytestCheckHook , pytestCheckHook
, pythonOlder , pythonOlder
, voluptuous , voluptuous
@ -18,7 +16,7 @@
buildPythonPackage rec { buildPythonPackage rec {
pname = "zigpy-znp"; pname = "zigpy-znp";
version = "0.9.3"; version = "0.10.0";
format = "setuptools"; format = "setuptools";
disabled = pythonOlder "3.7"; disabled = pythonOlder "3.7";
@ -27,15 +25,18 @@ buildPythonPackage rec {
owner = "zigpy"; owner = "zigpy";
repo = pname; repo = pname;
rev = "refs/tags/v${version}"; rev = "refs/tags/v${version}";
hash = "sha256-UTL7g9tIXtMVeBRq5Fdw5VqUB9H/LaobASwHlFPoO2s="; hash = "sha256-pQ1T7MTrL789kd8cbbsjRLUaxd1yHF7sDwow2UksQ7c=";
}; };
postPatch = ''
substituteInPlace pyproject.toml \
--replace "timeout = 20" "timeout = 300"
'';
propagatedBuildInputs = [ propagatedBuildInputs = [
async-timeout async-timeout
coloredlogs coloredlogs
jsonschema jsonschema
pyserial
pyserial-asyncio
voluptuous voluptuous
zigpy zigpy
]; ];
@ -44,9 +45,18 @@ buildPythonPackage rec {
pytest-asyncio pytest-asyncio
pytest-mock pytest-mock
pytest-timeout pytest-timeout
pytest-xdist
pytestCheckHook 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 = [ pythonImportsCheck = [

View file

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

View file

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

View file

@ -1,4 +1,4 @@
{ lib, stdenv, fetchMavenArtifact, fetchFromGitHub, jre, makeWrapper }: { lib, stdenv, stdenvNoCC, fetchMavenArtifact, fetchFromGitHub, jre, makeWrapper, symlinkJoin }:
let let
version = "1.0.0"; version = "1.0.0";
@ -8,33 +8,62 @@ let
inherit version; inherit version;
sha256 = "1mk8pv0g2xg9m0gsb96plbh6mc24xrlyrmnqac5mlbl4637l4q95"; sha256 = "1mk8pv0g2xg9m0gsb96plbh6mc24xrlyrmnqac5mlbl4637l4q95";
}; };
in
stdenv.mkDerivation {
pname = "nailgun";
inherit version;
src = fetchFromGitHub { commonMeta = {
owner = "facebook"; license = lib.licenses.asl20;
repo = "nailgun"; homepage = "http://www.martiansoftware.com/nailgun/";
rev = "nailgun-all-v${version}"; platforms = lib.platforms.linux;
sha256 = "1syyk4ss5vq1zf0ma00svn56lal53ffpikgqgzngzbwyksnfdlh6"; maintainers = with lib.maintainers; [ ];
}; };
makeFlags = [ "PREFIX=$(out)" ]; server = stdenvNoCC.mkDerivation {
pname = "nailgun-server";
inherit version;
nativeBuildInputs = [ makeWrapper ]; nativeBuildInputs = [ makeWrapper ];
postInstall = '' dontUnpack = true;
makeWrapper ${jre}/bin/java $out/bin/ng-server \ installPhase = ''
--add-flags '-classpath ${nailgun-server.jar}:$CLASSPATH com.facebook.nailgun.NGServer' 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"; 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! # Do not edit!
{ {
version = "2023.3.6"; version = "2023.4.0";
components = { components = {
"3_day_blinds" = ps: with ps; [ "3_day_blinds" = ps: with ps; [
]; ];
@ -629,9 +629,6 @@
"danfoss_air" = ps: with ps; [ "danfoss_air" = ps: with ps; [
pydanfossair pydanfossair
]; ];
"darksky" = ps: with ps; [
python-forecastio
];
"datadog" = ps: with ps; [ "datadog" = ps: with ps; [
datadog datadog
]; ];
@ -661,12 +658,14 @@
bluetooth-data-tools bluetooth-data-tools
dbus-fast dbus-fast
fnvhash fnvhash
av
hass-nabucasa hass-nabucasa
hassil hassil
home-assistant-frontend home-assistant-frontend
home-assistant-intents home-assistant-intents
ifaddr ifaddr
janus janus
numpy
pillow pillow
psutil-home-assistant psutil-home-assistant
pyserial pyserial
@ -986,6 +985,8 @@
"escea" = ps: with ps; [ "escea" = ps: with ps; [
pescea pescea
]; ];
"esera_onewire" = ps: with ps; [
];
"esphome" = ps: with ps; [ "esphome" = ps: with ps; [
aioesphomeapi aioesphomeapi
aiohttp-cors aiohttp-cors
@ -2104,8 +2105,6 @@
fnvhash fnvhash
sqlalchemy sqlalchemy
]; ];
"magicseaweed" = ps: with ps; [
]; # missing inputs: magicseaweed
"mailbox" = ps: with ps; [ "mailbox" = ps: with ps; [
aiohttp-cors aiohttp-cors
]; ];
@ -2541,6 +2540,7 @@
nuheat nuheat
]; ];
"nuki" = ps: with ps; [ "nuki" = ps: with ps; [
aiohttp-cors
pynuki pynuki
]; ];
"numato" = ps: with ps; [ "numato" = ps: with ps; [
@ -2685,12 +2685,25 @@
]; # missing inputs: lightify ]; # missing inputs: lightify
"otbr" = ps: with ps; [ "otbr" = ps: with ps; [
aiohttp-cors aiohttp-cors
bellows
fnvhash fnvhash
ifaddr ifaddr
janus
pillow
psutil-home-assistant
pyroute2 pyroute2
pyserial-asyncio
pyserial
python-otbr-api python-otbr-api
pyudev
sqlalchemy sqlalchemy
zeroconf zeroconf
zha-quirks
zigpy-deconz
zigpy-xbee
zigpy-zigate
zigpy-znp
zigpy
]; ];
"otp" = ps: with ps; [ "otp" = ps: with ps; [
pyotp pyotp
@ -2902,6 +2915,8 @@
pillow pillow
pyzbar pyzbar
]; ];
"quadrafire" = ps: with ps; [
];
"quantum_gateway" = ps: with ps; [ "quantum_gateway" = ps: with ps; [
quantum-gateway quantum-gateway
]; ];
@ -4001,6 +4016,8 @@
"verisure" = ps: with ps; [ "verisure" = ps: with ps; [
vsure vsure
]; ];
"vermont_castings" = ps: with ps; [
];
"versasense" = ps: with ps; [ "versasense" = ps: with ps; [
pyversasense pyversasense
]; ];
@ -4030,6 +4047,12 @@
"vlc_telnet" = ps: with ps; [ "vlc_telnet" = ps: with ps; [
aiovlc aiovlc
]; ];
"voice_assistant" = ps: with ps; [
aiohttp-cors
hassil
home-assistant-intents
mutagen
];
"voicerss" = ps: with ps; [ "voicerss" = ps: with ps; [
]; ];
"volkszaehler" = ps: with ps; [ "volkszaehler" = ps: with ps; [
@ -4432,7 +4455,6 @@
"cpuspeed" "cpuspeed"
"crownstone" "crownstone"
"daikin" "daikin"
"darksky"
"datadog" "datadog"
"debugpy" "debugpy"
"deconz" "deconz"
@ -4469,6 +4491,7 @@
"ecobee" "ecobee"
"econet" "econet"
"ecowitt" "ecowitt"
"edl21"
"efergy" "efergy"
"eight_sleep" "eight_sleep"
"elgato" "elgato"
@ -4527,6 +4550,7 @@
"fritzbox_callmonitor" "fritzbox_callmonitor"
"fronius" "fronius"
"frontend" "frontend"
"frontier_silicon"
"fully_kiosk" "fully_kiosk"
"garages_amsterdam" "garages_amsterdam"
"gdacs" "gdacs"
@ -4735,6 +4759,7 @@
"network" "network"
"nexia" "nexia"
"nextbus" "nextbus"
"nextcloud"
"nextdns" "nextdns"
"nibe_heatpump" "nibe_heatpump"
"nightscout" "nightscout"
@ -4752,6 +4777,7 @@
"nut" "nut"
"nws" "nws"
"nx584" "nx584"
"obihai"
"octoprint" "octoprint"
"omnilogic" "omnilogic"
"onboarding" "onboarding"
@ -4942,6 +4968,7 @@
"telegram" "telegram"
"telegram_bot" "telegram_bot"
"tellduslive" "tellduslive"
"temper"
"template" "template"
"tesla_wall_connector" "tesla_wall_connector"
"text" "text"
@ -5007,6 +5034,7 @@
"vilfo" "vilfo"
"vizio" "vizio"
"vlc_telnet" "vlc_telnet"
"voice_assistant"
"voicerss" "voicerss"
"volumio" "volumio"
"volvooncall" "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 { dsmr-parser = super.dsmr-parser.overridePythonAttrs (oldAttrs: rec {
version = "0.33"; version = "0.33";
src = fetchFromGitHub { src = fetchFromGitHub {
@ -98,15 +89,6 @@ let
doCheck = false; 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 { jaraco-abode = super.jaraco-abode.overridePythonAttrs (oldAttrs: rec {
version = "3.3.0"; version = "3.3.0";
src = fetchFromGitHub { 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 { pykaleidescape = super.pykaleidescape.overridePythonAttrs (oldAttrs: rec {
version = "1.0.1"; version = "1.0.1";
src = fetchFromGitHub { src = fetchFromGitHub {
@ -242,22 +214,6 @@ let
inherit version; inherit version;
hash = "sha256-w0PwtUZJX116I5xwv1CpmkjXMhwWW4Kvr6hIO56+v24="; 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 # 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 # Pinned due to API changes ~1.0
vultr = super.vultr.overridePythonAttrs (oldAttrs: rec { vultr = super.vultr.overridePythonAttrs (oldAttrs: rec {
version = "0.1.2"; version = "0.1.2";
@ -327,7 +273,7 @@ let
extraBuildInputs = extraPackages python.pkgs; extraBuildInputs = extraPackages python.pkgs;
# Don't forget to run parse-requirements.py after updating # Don't forget to run parse-requirements.py after updating
hassVersion = "2023.3.6"; hassVersion = "2023.4.0";
in python.pkgs.buildPythonApplication rec { in python.pkgs.buildPythonApplication rec {
pname = "homeassistant"; pname = "homeassistant";
@ -343,7 +289,7 @@ in python.pkgs.buildPythonApplication rec {
# Primary source is the pypi sdist, because it contains translations # Primary source is the pypi sdist, because it contains translations
src = fetchPypi { src = fetchPypi {
inherit pname version; inherit pname version;
hash = "sha256-4PS6ozyqJddF6Jp9cKRojUtHTTNd3xo2oTDboowQACk="; hash = "sha256-50zDSXFd9VmPlt5DrKL240AuhF87rXX7ieMJbmIoj/4=";
}; };
# Secondary source is git for tests # Secondary source is git for tests
@ -351,7 +297,7 @@ in python.pkgs.buildPythonApplication rec {
owner = "home-assistant"; owner = "home-assistant";
repo = "core"; repo = "core";
rev = "refs/tags/${version}"; rev = "refs/tags/${version}";
hash = "sha256-+u1kCyIzTQrMvO6slr1YW0kZqkh4QGxUo5ucJzxkfEE="; hash = "sha256-cel7WtndC/UXUgo9paP2QiSzdpBCo7s570cK8MouVdQ=";
}; };
nativeBuildInputs = with python3.pkgs; [ nativeBuildInputs = with python3.pkgs; [
@ -425,6 +371,7 @@ in python.pkgs.buildPythonApplication rec {
python-slugify python-slugify
pyyaml pyyaml
requests requests
ulid-transform
voluptuous voluptuous
voluptuous-serialize voluptuous-serialize
yarl yarl
@ -477,6 +424,8 @@ in python.pkgs.buildPythonApplication rec {
"--showlocals" "--showlocals"
# AssertionError: assert 1 == 0 # AssertionError: assert 1 == 0
"--deselect tests/test_config.py::test_merge" "--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 are located in tests/
"tests" "tests"
]; ];

View file

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

View file

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

View file

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

View file

@ -39,25 +39,24 @@ let
}; };
extraDisabledTests = { extraDisabledTests = {
roku = [ vesync = [
# homeassistant.components.roku.media_player:media_player.py:428 Media type music is not supported with format None (mime: audio/x-matroska) # homeassistant.components.vesync:config_validation.py:863 The 'vesync' option has been removed, please remove it from your configuration
"test_services_play_media_audio" "test_async_get_config_entry_diagnostics__single_humidifier"
"test_async_get_device_diagnostics__single_fan"
]; ];
}; };
extraPytestFlagsArray = { extraPytestFlagsArray = {
dnsip = [ 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" "--deselect tests/components/dnsip/test_config_flow.py::test_options_flow"
]; ];
history_stats = [ history_stats = [
# Flaky: AssertionError: assert '0.0' == '12.0' # Flaky: AssertionError: assert '0.0' == '12.0'
"--deselect tests/components/history_stats/test_sensor.py::test_end_time_with_microseconds_zeroed" "--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 = [ 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" "--deselect tests/components/modbus/test_init.py::test_pymodbus_connect_fail"
]; ];
modem_callerid = [ modem_callerid = [

View file

@ -81,7 +81,7 @@ buildBazelPackage rec {
fetchAttrs = { fetchAttrs = {
sha256 = { sha256 = {
x86_64-linux = "sha256-H2s8sTbmKF+yRfSzLsZAT2ckFuunFwh/FMSKj+GYyPM="; 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}"); }.${stdenv.system} or (throw "unsupported system ${stdenv.system}");
dontUseCmakeConfigure = true; dontUseCmakeConfigure = true;
dontUseGnConfigure = 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

@ -459,6 +459,14 @@ in
''; '';
}; };
}; };
# TODO(amjoseph): It is not yet entirely clear why this is necessary.
# Something strange is going on with xgcc and libstdc++ on pkgsMusl.
patchelf = super.patchelf.overrideAttrs(previousAttrs:
lib.optionalAttrs super.stdenv.hostPlatform.isMusl {
NIX_CFLAGS_COMPILE = (previousAttrs.NIX_CFLAGS_COMPILE or "") + " -static-libstdc++";
});
}; };
# `libtool` comes with obsolete config.sub/config.guess that don't recognize Risc-V. # `libtool` comes with obsolete config.sub/config.guess that don't recognize Risc-V.

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 { rustPlatform.buildRustPackage rec {
pname = "pipe-rename"; pname = "pipe-rename";
version = "1.6.1"; version = "1.6.2";
src = fetchCrate { src = fetchCrate {
inherit pname version; inherit pname version;
sha256 = "sha256-95Gj5iy8VYBzpV0kmGhronIR5LSjelfOueBQD/8gbfw="; sha256 = "sha256-eMTqKKcFeEICref35/RHWNzpnjLDrG7rjcXjOSAnwIo=";
}; };
cargoSha256 = "sha256-HiElAPgNeICEVbMBfK6syCoQb5smHhBH1MOuo2swci4="; cargoSha256 = "sha256-X4wmhyWpjq4EyAVsfdeP76NSC9tcZjZ6woCsRvw0Gzo=";
nativeCheckInputs = [ python3 ]; 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 { }; ahcpd = callPackage ../tools/networking/ahcpd { };
aichat = callPackage ../tools/misc/aichat { };
aide = callPackage ../tools/security/aide { }; aide = callPackage ../tools/security/aide { };
aioblescan = with python3Packages; toPythonApplication aioblescan; aioblescan = with python3Packages; toPythonApplication aioblescan;
@ -1831,6 +1833,8 @@ with pkgs;
git-appraise = callPackage ../applications/version-management/git-appraise { }; 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 { git-backup = callPackage ../applications/version-management/git-backup {
openssl = openssl_1_1; openssl = openssl_1_1;
inherit (darwin.apple_sdk.frameworks) Security; 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 { }; portableService = callPackage ../build-support/portable-service { };
polar = callPackage ../tools/misc/polar { }; polar = callPackage ../tools/misc/polar { };
@ -26832,6 +26838,10 @@ with pkgs;
nu_scripts = callPackage ../shells/nushell/nu_scripts { }; 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 nettools = if stdenv.isLinux
then callPackage ../os-specific/linux/net-tools { } then callPackage ../os-specific/linux/net-tools { }
else unixtools.nettools; else unixtools.nettools;
@ -39472,6 +39482,8 @@ with pkgs;
zoneminder = callPackage ../servers/zoneminder { }; zoneminder = callPackage ../servers/zoneminder { };
zrok = callPackage ../tools/networking/zrok { };
xcp = callPackage ../tools/misc/xcp { }; xcp = callPackage ../tools/misc/xcp { };
zxcvbn-c = callPackage ../development/libraries/zxcvbn-c { }; 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 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 pytestquickcheck = pytest-quickcheck; # added 2021-07-20
pytestrunner = pytest-runner; # added 2021-01-04 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-igraph = igraph; # added 2021-11-11
python-lz4 = lz4; # added 2018-06-01 python-lz4 = lz4; # added 2018-06-01
python_magic = python-magic; # added 2022-05-07 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-fontconfig = callPackage ../development/python-modules/python-fontconfig { };
python-forecastio = callPackage ../development/python-modules/python-forecastio { };
python-frontmatter = callPackage ../development/python-modules/python-frontmatter { }; python-frontmatter = callPackage ../development/python-modules/python-frontmatter { };
python-gammu = callPackage ../development/python-modules/python-gammu { }; python-gammu = callPackage ../development/python-modules/python-gammu { };