Merge branch 'master' into haskell-updates
To get revert of accidental mass rebuild.
This commit is contained in:
commit
b1bedc5a85
57 changed files with 883 additions and 686 deletions
|
@ -9289,6 +9289,12 @@
|
||||||
github = "josephst";
|
github = "josephst";
|
||||||
githubId = 1269177;
|
githubId = 1269177;
|
||||||
};
|
};
|
||||||
|
josephsurin = {
|
||||||
|
name = "Joseph Surin";
|
||||||
|
email = "nix@jsur.in";
|
||||||
|
github = "josephsurin";
|
||||||
|
githubId = 14977484;
|
||||||
|
};
|
||||||
joshniemela = {
|
joshniemela = {
|
||||||
name = "Joshua Niemelä";
|
name = "Joshua Niemelä";
|
||||||
email = "josh@jniemela.dk";
|
email = "josh@jniemela.dk";
|
||||||
|
|
|
@ -286,6 +286,10 @@ The pre-existing [services.ankisyncd](#opt-services.ankisyncd.enable) has been m
|
||||||
[fileSystems.overlay](#opt-fileSystems._name_.overlay.lowerdir). See also the
|
[fileSystems.overlay](#opt-fileSystems._name_.overlay.lowerdir). See also the
|
||||||
[NixOS docs](#sec-overlayfs).
|
[NixOS docs](#sec-overlayfs).
|
||||||
|
|
||||||
|
- systemd units can now specify the `Upholds=` and `UpheldBy=` unit dependencies via the aptly
|
||||||
|
named `upholds` and `upheldBy` options. These options get systemd to enforce that the
|
||||||
|
dependencies remain continuosly running for as long as the dependent unit is in a running state.
|
||||||
|
|
||||||
- `stdenv`: The `--replace` flag in `substitute`, `substituteInPlace`, `substituteAll`, `substituteAllStream`, and `substituteStream` is now deprecated if favor of the new `--replace-fail`, `--replace-warn` and `--replace-quiet`. The deprecated `--replace` equates to `--replace-warn`.
|
- `stdenv`: The `--replace` flag in `substitute`, `substituteInPlace`, `substituteAll`, `substituteAllStream`, and `substituteStream` is now deprecated if favor of the new `--replace-fail`, `--replace-warn` and `--replace-quiet`. The deprecated `--replace` equates to `--replace-warn`.
|
||||||
|
|
||||||
- A new hardening flag, `zerocallusedregs` was made available, corresponding to the gcc/clang option `-fzero-call-used-regs=used-gpr`.
|
- A new hardening flag, `zerocallusedregs` was made available, corresponding to the gcc/clang option `-fzero-call-used-regs=used-gpr`.
|
||||||
|
|
|
@ -242,7 +242,7 @@ in rec {
|
||||||
ln -sfn '${name}' $out/'${name2}'
|
ln -sfn '${name}' $out/'${name2}'
|
||||||
'') (unit.aliases or [])) units)}
|
'') (unit.aliases or [])) units)}
|
||||||
|
|
||||||
# Create .wants and .requires symlinks from the wantedBy and
|
# Create .wants, .upholds and .requires symlinks from the wantedBy, upheldBy and
|
||||||
# requiredBy options.
|
# requiredBy options.
|
||||||
${concatStrings (mapAttrsToList (name: unit:
|
${concatStrings (mapAttrsToList (name: unit:
|
||||||
concatMapStrings (name2: ''
|
concatMapStrings (name2: ''
|
||||||
|
@ -250,6 +250,12 @@ in rec {
|
||||||
ln -sfn '../${name}' $out/'${name2}.wants'/
|
ln -sfn '../${name}' $out/'${name2}.wants'/
|
||||||
'') (unit.wantedBy or [])) units)}
|
'') (unit.wantedBy or [])) units)}
|
||||||
|
|
||||||
|
${concatStrings (mapAttrsToList (name: unit:
|
||||||
|
concatMapStrings (name2: ''
|
||||||
|
mkdir -p $out/'${name2}.upholds'
|
||||||
|
ln -sfn '../${name}' $out/'${name2}.upholds'/
|
||||||
|
'') (unit.upheldBy or [])) units)}
|
||||||
|
|
||||||
${concatStrings (mapAttrsToList (name: unit:
|
${concatStrings (mapAttrsToList (name: unit:
|
||||||
concatMapStrings (name2: ''
|
concatMapStrings (name2: ''
|
||||||
mkdir -p $out/'${name2}.requires'
|
mkdir -p $out/'${name2}.requires'
|
||||||
|
@ -289,6 +295,8 @@ in rec {
|
||||||
{ Requires = toString config.requires; }
|
{ Requires = toString config.requires; }
|
||||||
// optionalAttrs (config.wants != [])
|
// optionalAttrs (config.wants != [])
|
||||||
{ Wants = toString config.wants; }
|
{ Wants = toString config.wants; }
|
||||||
|
// optionalAttrs (config.upholds != [])
|
||||||
|
{ Upholds = toString config.upholds; }
|
||||||
// optionalAttrs (config.after != [])
|
// optionalAttrs (config.after != [])
|
||||||
{ After = toString config.after; }
|
{ After = toString config.after; }
|
||||||
// optionalAttrs (config.before != [])
|
// optionalAttrs (config.before != [])
|
||||||
|
|
|
@ -74,6 +74,15 @@ in rec {
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
|
upheldBy = mkOption {
|
||||||
|
default = [];
|
||||||
|
type = types.listOf unitNameType;
|
||||||
|
description = lib.mdDoc ''
|
||||||
|
Keep this unit running as long as the listed units are running. This is a continuously
|
||||||
|
enforced version of wantedBy.
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
wantedBy = mkOption {
|
wantedBy = mkOption {
|
||||||
default = [];
|
default = [];
|
||||||
type = types.listOf unitNameType;
|
type = types.listOf unitNameType;
|
||||||
|
@ -147,6 +156,14 @@ in rec {
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
|
upholds = mkOption {
|
||||||
|
default = [];
|
||||||
|
type = types.listOf unitNameType;
|
||||||
|
description = lib.mdDoc ''
|
||||||
|
Keeps the specified running while this unit is running. A continuous version of `wants`.
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
after = mkOption {
|
after = mkOption {
|
||||||
default = [];
|
default = [];
|
||||||
type = types.listOf unitNameType;
|
type = types.listOf unitNameType;
|
||||||
|
|
|
@ -52,7 +52,7 @@ let
|
||||||
hasAttrByPath (splitString "." component) cfg.config
|
hasAttrByPath (splitString "." component) cfg.config
|
||||||
|| useComponentPlatform component
|
|| useComponentPlatform component
|
||||||
|| useExplicitComponent component
|
|| useExplicitComponent component
|
||||||
|| builtins.elem component cfg.extraComponents;
|
|| builtins.elem component (cfg.extraComponents ++ cfg.defaultIntegrations);
|
||||||
|
|
||||||
# Final list of components passed into the package to include required dependencies
|
# Final list of components passed into the package to include required dependencies
|
||||||
extraComponents = filter useComponent availableComponents;
|
extraComponents = filter useComponent availableComponents;
|
||||||
|
@ -103,6 +103,45 @@ in {
|
||||||
description = lib.mdDoc "The config directory, where your {file}`configuration.yaml` is located.";
|
description = lib.mdDoc "The config directory, where your {file}`configuration.yaml` is located.";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
defaultIntegrations = mkOption {
|
||||||
|
type = types.listOf (types.enum availableComponents);
|
||||||
|
# https://github.com/home-assistant/core/blob/dev/homeassistant/bootstrap.py#L109
|
||||||
|
default = [
|
||||||
|
"application_credentials"
|
||||||
|
"frontend"
|
||||||
|
"hardware"
|
||||||
|
"logger"
|
||||||
|
"network"
|
||||||
|
"system_health"
|
||||||
|
|
||||||
|
# key features
|
||||||
|
"automation"
|
||||||
|
"person"
|
||||||
|
"scene"
|
||||||
|
"script"
|
||||||
|
"tag"
|
||||||
|
"zone"
|
||||||
|
|
||||||
|
# built-in helpers
|
||||||
|
"counter"
|
||||||
|
"input_boolean"
|
||||||
|
"input_button"
|
||||||
|
"input_datetime"
|
||||||
|
"input_number"
|
||||||
|
"input_select"
|
||||||
|
"input_text"
|
||||||
|
"schedule"
|
||||||
|
"timer"
|
||||||
|
|
||||||
|
# non-supervisor
|
||||||
|
"backup"
|
||||||
|
];
|
||||||
|
readOnly = true;
|
||||||
|
description = ''
|
||||||
|
List of integrations set are always set up, unless in recovery mode.
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
extraComponents = mkOption {
|
extraComponents = mkOption {
|
||||||
type = types.listOf (types.enum availableComponents);
|
type = types.listOf (types.enum availableComponents);
|
||||||
default = [
|
default = [
|
||||||
|
@ -533,6 +572,7 @@ in {
|
||||||
"inkbird"
|
"inkbird"
|
||||||
"improv_ble"
|
"improv_ble"
|
||||||
"keymitt_ble"
|
"keymitt_ble"
|
||||||
|
"leaone-ble"
|
||||||
"led_ble"
|
"led_ble"
|
||||||
"medcom_ble"
|
"medcom_ble"
|
||||||
"melnor"
|
"melnor"
|
||||||
|
|
|
@ -185,6 +185,19 @@ in
|
||||||
can be loaded using "nft -f". The ruleset is updated atomically.
|
can be loaded using "nft -f". The ruleset is updated atomically.
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
|
networking.nftables.flattenRulesetFile = mkOption {
|
||||||
|
type = types.bool;
|
||||||
|
default = false;
|
||||||
|
description = lib.mdDoc ''
|
||||||
|
Use `builtins.readFile` rather than `include` to handle {option}`networking.nftables.rulesetFile`. It is useful when you want to apply {option}`networking.nftables.preCheckRuleset` to {option}`networking.nftables.rulesetFile`.
|
||||||
|
|
||||||
|
::: {.note}
|
||||||
|
It is expected that {option}`networking.nftables.rulesetFile` can be accessed from the build sandbox.
|
||||||
|
:::
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
networking.nftables.tables = mkOption {
|
networking.nftables.tables = mkOption {
|
||||||
type = types.attrsOf (types.submodule tableSubmodule);
|
type = types.attrsOf (types.submodule tableSubmodule);
|
||||||
|
|
||||||
|
@ -295,9 +308,13 @@ in
|
||||||
}
|
}
|
||||||
'') enabledTables)}
|
'') enabledTables)}
|
||||||
${cfg.ruleset}
|
${cfg.ruleset}
|
||||||
${lib.optionalString (cfg.rulesetFile != null) ''
|
${if cfg.rulesetFile != null then
|
||||||
include "${cfg.rulesetFile}"
|
if cfg.flattenRulesetFile then
|
||||||
''}
|
builtins.readFile cfg.rulesetFile
|
||||||
|
else ''
|
||||||
|
include "${cfg.rulesetFile}"
|
||||||
|
''
|
||||||
|
else ""}
|
||||||
'';
|
'';
|
||||||
checkPhase = lib.optionalString cfg.checkRuleset ''
|
checkPhase = lib.optionalString cfg.checkRuleset ''
|
||||||
cp $out ruleset.conf
|
cp $out ruleset.conf
|
||||||
|
|
|
@ -738,7 +738,7 @@ in
|
||||||
See the [QEMU Wiki on Networking](https://wiki.qemu.org/Documentation/Networking) for details.
|
See the [QEMU Wiki on Networking](https://wiki.qemu.org/Documentation/Networking) for details.
|
||||||
|
|
||||||
If you override this option, be advised to keep
|
If you override this option, be advised to keep
|
||||||
''${QEMU_NET_OPTS:+,$QEMU_NET_OPTS} (as seen in the example)
|
`''${QEMU_NET_OPTS:+,$QEMU_NET_OPTS}` (as seen in the example)
|
||||||
to keep the default runtime behaviour.
|
to keep the default runtime behaviour.
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
@ -813,14 +813,19 @@ in
|
||||||
defaultText = "!cfg.useBootLoader";
|
defaultText = "!cfg.useBootLoader";
|
||||||
description =
|
description =
|
||||||
lib.mdDoc ''
|
lib.mdDoc ''
|
||||||
If enabled, the virtual machine will boot directly into the kernel instead of through a bootloader. Other relevant parameters such as the initrd are also passed to QEMU.
|
If enabled, the virtual machine will boot directly into the kernel instead of through a bootloader.
|
||||||
|
Read more about this feature in the [QEMU documentation on Direct Linux Boot](https://qemu-project.gitlab.io/qemu/system/linuxboot.html)
|
||||||
|
|
||||||
|
This is enabled by default.
|
||||||
If you want to test netboot, consider disabling this option.
|
If you want to test netboot, consider disabling this option.
|
||||||
|
Enable a bootloader with {option}`virtualisation.useBootLoader` if you need.
|
||||||
|
|
||||||
This will not boot / reboot correctly into a system that has switched to a different configuration on disk.
|
Relevant parameters such as those set in `boot.initrd` and `boot.kernelParams` are also passed to QEMU.
|
||||||
|
Additional parameters can be supplied on invocation through the environment variable `$QEMU_KERNEL_PARAMS`.
|
||||||
|
They are added to the `-append` option, see [QEMU User Documentation](https://www.qemu.org/docs/master/system/qemu-manpage) for details
|
||||||
|
For example, to let QEMU use the parent terminal as the serial console, set `QEMU_KERNEL_PARAMS="console=ttyS0"`.
|
||||||
|
|
||||||
This is enabled by default if you don't enable bootloaders, but you can still enable a bootloader if you need.
|
This will not (re-)boot correctly into a system that has switched to a different configuration on disk.
|
||||||
Read more about this feature: <https://qemu-project.gitlab.io/qemu/system/linuxboot.html>.
|
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
initrd =
|
initrd =
|
||||||
|
@ -850,6 +855,8 @@ in
|
||||||
|
|
||||||
If disabled, the kernel and initrd are directly booted,
|
If disabled, the kernel and initrd are directly booted,
|
||||||
forgoing any bootloader.
|
forgoing any bootloader.
|
||||||
|
|
||||||
|
Check the documentation on {option}`virtualisation.directBoot.enable` for details.
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -26,14 +26,14 @@ let
|
||||||
buildType = "release";
|
buildType = "release";
|
||||||
# Use maintainers/scripts/update.nix to update the version and all related hashes or
|
# Use maintainers/scripts/update.nix to update the version and all related hashes or
|
||||||
# change the hashes in extpack.nix and guest-additions/default.nix as well manually.
|
# change the hashes in extpack.nix and guest-additions/default.nix as well manually.
|
||||||
version = "7.0.12";
|
version = "7.0.14";
|
||||||
in stdenv.mkDerivation {
|
in stdenv.mkDerivation {
|
||||||
pname = "virtualbox";
|
pname = "virtualbox";
|
||||||
inherit version;
|
inherit version;
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://download.virtualbox.org/virtualbox/${version}/VirtualBox-${version}.tar.bz2";
|
url = "https://download.virtualbox.org/virtualbox/${version}/VirtualBox-${version}.tar.bz2";
|
||||||
sha256 = "d76634c6ccf62503726a5aeae6c78a3462474c51a0ebe4942591ccc2d939890a";
|
sha256 = "45860d834804a24a163c1bb264a6b1cb802a5bc7ce7e01128072f8d6a4617ca9";
|
||||||
};
|
};
|
||||||
|
|
||||||
outputs = [ "out" "modsrc" ];
|
outputs = [ "out" "modsrc" ];
|
||||||
|
|
|
@ -12,7 +12,7 @@ fetchurl rec {
|
||||||
# Manually sha256sum the extensionPack file, must be hex!
|
# Manually sha256sum the extensionPack file, must be hex!
|
||||||
# Thus do not use `nix-prefetch-url` but instead plain old `sha256sum`.
|
# Thus do not use `nix-prefetch-url` but instead plain old `sha256sum`.
|
||||||
# Checksums can also be found at https://www.virtualbox.org/download/hashes/${version}/SHA256SUMS
|
# Checksums can also be found at https://www.virtualbox.org/download/hashes/${version}/SHA256SUMS
|
||||||
let value = "dbf7ce39e5c021d420fc6b2045b084a68fc5172937192bd70c3207efa786278d";
|
let value = "42cb36fbf439a9ed28c95d2bbc718a0eac902225eb579c884c549af2e94be633";
|
||||||
in assert (builtins.stringLength value) == 64; value;
|
in assert (builtins.stringLength value) == 64; value;
|
||||||
|
|
||||||
meta = {
|
meta = {
|
||||||
|
|
|
@ -23,7 +23,7 @@ in stdenv.mkDerivation rec {
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "http://download.virtualbox.org/virtualbox/${version}/VBoxGuestAdditions_${version}.iso";
|
url = "http://download.virtualbox.org/virtualbox/${version}/VBoxGuestAdditions_${version}.iso";
|
||||||
sha256 = "b37f6aabe5a32e8b96ccca01f37fb49f4fd06674f1b29bc8fe0f423ead37b917";
|
sha256 = "0efbcb9bf4722cb19292ae00eba29587432e918d3b1f70905deb70f7cf78e8ce";
|
||||||
};
|
};
|
||||||
|
|
||||||
KERN_DIR = "${kernel.dev}/lib/modules/${kernel.modDirVersion}/build";
|
KERN_DIR = "${kernel.dev}/lib/modules/${kernel.modDirVersion}/build";
|
||||||
|
|
|
@ -57,9 +57,9 @@ checksum = "b4596b6d070b27117e987119b4dac604f3c58cfb0b191112e24771b2faeac1a6"
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "proc-macro2"
|
name = "proc-macro2"
|
||||||
version = "1.0.76"
|
version = "1.0.78"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "95fc56cda0b5c3325f5fbbd7ff9fda9e02bb00bb3dac51252d2f1bfa1cb8cc8c"
|
checksum = "e2422ad645d89c99f8f3e6b88a9fdeca7fabeac836b1002371c4367c8f984aae"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"unicode-ident",
|
"unicode-ident",
|
||||||
]
|
]
|
||||||
|
|
51
pkgs/by-name/fl/flatter/package.nix
Normal file
51
pkgs/by-name/fl/flatter/package.nix
Normal file
|
@ -0,0 +1,51 @@
|
||||||
|
{ lib
|
||||||
|
, stdenv
|
||||||
|
, fetchFromGitHub
|
||||||
|
, unstableGitUpdater
|
||||||
|
, cmake
|
||||||
|
, blas
|
||||||
|
, gmp
|
||||||
|
, mpfr
|
||||||
|
, fplll
|
||||||
|
, eigen
|
||||||
|
, llvmPackages
|
||||||
|
}:
|
||||||
|
|
||||||
|
stdenv.mkDerivation {
|
||||||
|
pname = "flatter";
|
||||||
|
version = "0-unstable-2023-08-10";
|
||||||
|
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "keeganryan";
|
||||||
|
repo = "flatter";
|
||||||
|
rev = "500e31df6b7308e8101b2a4a9cc816bf8f483417";
|
||||||
|
hash = "sha256-STYx7cXvkcF+KqrG32pN16HWfEScc0zxkmOmfv43zIw=";
|
||||||
|
};
|
||||||
|
|
||||||
|
strictDeps = true;
|
||||||
|
|
||||||
|
nativeBuildInputs = [
|
||||||
|
cmake
|
||||||
|
];
|
||||||
|
|
||||||
|
buildInputs = [
|
||||||
|
blas
|
||||||
|
gmp
|
||||||
|
mpfr
|
||||||
|
fplll
|
||||||
|
eigen
|
||||||
|
] ++ lib.optionals stdenv.isDarwin [
|
||||||
|
llvmPackages.openmp
|
||||||
|
];
|
||||||
|
|
||||||
|
passthru.updateScript = unstableGitUpdater { };
|
||||||
|
|
||||||
|
meta = with lib; {
|
||||||
|
description = "(F)ast (lat)tice (r)eduction of integer lattice bases";
|
||||||
|
homepage = "https://github.com/keeganryan/flatter";
|
||||||
|
license = licenses.lgpl3Only;
|
||||||
|
mainProgram = "flatter";
|
||||||
|
platforms = platforms.all;
|
||||||
|
maintainers = with maintainers; [ josephsurin ];
|
||||||
|
};
|
||||||
|
}
|
|
@ -20,14 +20,14 @@
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "htcondor";
|
pname = "htcondor";
|
||||||
version = "23.3.0";
|
version = "23.4.0";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "htcondor";
|
owner = "htcondor";
|
||||||
repo = "htcondor";
|
repo = "htcondor";
|
||||||
|
|
||||||
rev = "v23.3.0";
|
rev = "v23.4.0";
|
||||||
hash = "sha256-Ew9leVpvEndiRkOnhx2fLClrNW1bC5djcJEBsve6eIk=";
|
hash = "sha256-+WfNVxP7qsEpn8zPretLnOEAnPq0GylyxCbcQI8o0L0=";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ cmake ];
|
nativeBuildInputs = [ cmake ];
|
||||||
|
|
|
@ -1,14 +1,12 @@
|
||||||
{ lib
|
{ lib
|
||||||
, fetchFromGitHub
|
, fetchFromGitHub
|
||||||
, buildGoPackage
|
, buildGoModule
|
||||||
}:
|
}:
|
||||||
|
|
||||||
buildGoPackage rec {
|
buildGoModule rec {
|
||||||
pname = "qsreplace";
|
pname = "qsreplace";
|
||||||
version = "0.0.3";
|
version = "0.0.3";
|
||||||
|
|
||||||
goPackagePath = "github.com/tomnomnom/qsreplace";
|
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "tomnomnom";
|
owner = "tomnomnom";
|
||||||
repo = "qsreplace";
|
repo = "qsreplace";
|
||||||
|
@ -16,6 +14,10 @@ buildGoPackage rec {
|
||||||
hash = "sha256-j9bqO2gp4RUxZHGBCIxI5nA3nD1dG4nCpJ1i4TM/fbo=";
|
hash = "sha256-j9bqO2gp4RUxZHGBCIxI5nA3nD1dG4nCpJ1i4TM/fbo=";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
vendorHash = null;
|
||||||
|
|
||||||
|
ldflags = [ "-s" "-w" ];
|
||||||
|
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
homepage = "https://github.com/tomnomnom/qsreplace";
|
homepage = "https://github.com/tomnomnom/qsreplace";
|
||||||
description = "Accept URLs on stdin, replace all query string values with a user-supplied value";
|
description = "Accept URLs on stdin, replace all query string values with a user-supplied value";
|
||||||
|
|
|
@ -1,18 +1,25 @@
|
||||||
{ lib
|
{ lib
|
||||||
, stdenv
|
, stdenv
|
||||||
, fetchurl
|
, fetchFromGitLab
|
||||||
|
, fetchpatch
|
||||||
, autoreconfHook
|
, autoreconfHook
|
||||||
, libmd
|
, libmd
|
||||||
, gitUpdater
|
, gitUpdater
|
||||||
}:
|
}:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
# Run `./get-version` for the new value when bumping the Git revision.
|
||||||
pname = "libbsd";
|
let gitVersion = "0.11.7-55-g73b2"; in
|
||||||
version = "0.11.8";
|
|
||||||
|
|
||||||
src = fetchurl {
|
stdenv.mkDerivation {
|
||||||
url = "https://libbsd.freedesktop.org/releases/${pname}-${version}.tar.xz";
|
pname = "libbsd";
|
||||||
hash = "sha256-Vf36Jpb7TVWlkvqa0Uqd+JfHsACN2zswxBmRSEH4XzM=";
|
version = "unstable-2023-04-29";
|
||||||
|
|
||||||
|
src = fetchFromGitLab {
|
||||||
|
domain = "gitlab.freedesktop.org";
|
||||||
|
owner = "libbsd";
|
||||||
|
repo = "libbsd";
|
||||||
|
rev = "73b25a8f871b3a20f6ff76679358540f95d7dbfd";
|
||||||
|
hash = "sha256-LS28taIMjRCl6xqg75eYOIrTDl8PzSa+OvrdiEOP1+U=";
|
||||||
};
|
};
|
||||||
|
|
||||||
outputs = [ "out" "dev" "man" ];
|
outputs = [ "out" "dev" "man" ];
|
||||||
|
@ -24,12 +31,24 @@ stdenv.mkDerivation rec {
|
||||||
nativeBuildInputs = [ autoreconfHook ];
|
nativeBuildInputs = [ autoreconfHook ];
|
||||||
propagatedBuildInputs = [ libmd ];
|
propagatedBuildInputs = [ libmd ];
|
||||||
|
|
||||||
patches = lib.optionals stdenv.isDarwin [
|
patches = [
|
||||||
|
# Fix `{get,set}progname(3bsd)` conditionalization
|
||||||
|
# https://gitlab.freedesktop.org/libbsd/libbsd/-/issues/24
|
||||||
|
(fetchpatch {
|
||||||
|
url = "https://github.com/emilazy/libbsd/commit/0381f8d92873c5a19ced3ff861ee8ffe7825953e.patch";
|
||||||
|
hash = "sha256-+RMg5eHLgC4gyX9zXM0ttNf7rd9E3UzJX/7UVCYGXx4=";
|
||||||
|
})
|
||||||
|
] ++ lib.optionals stdenv.isDarwin [
|
||||||
# Temporary build system hack from upstream maintainer
|
# Temporary build system hack from upstream maintainer
|
||||||
# https://gitlab.freedesktop.org/libbsd/libbsd/-/issues/19#note_2017684
|
# https://gitlab.freedesktop.org/libbsd/libbsd/-/issues/19#note_2017684
|
||||||
./darwin-fix-libbsd.sym.patch
|
./darwin-fix-libbsd.sym.patch
|
||||||
];
|
];
|
||||||
|
|
||||||
|
postPatch = ''
|
||||||
|
substituteInPlace configure.ac \
|
||||||
|
--replace 'm4_esyscmd([./get-version])' '[${gitVersion}]'
|
||||||
|
'';
|
||||||
|
|
||||||
passthru.updateScript = gitUpdater {
|
passthru.updateScript = gitUpdater {
|
||||||
# No nicer place to find latest release.
|
# No nicer place to find latest release.
|
||||||
url = "https://gitlab.freedesktop.org/libbsd/libbsd.git";
|
url = "https://gitlab.freedesktop.org/libbsd/libbsd.git";
|
||||||
|
|
|
@ -159,6 +159,7 @@ stdenv.mkDerivation rec {
|
||||||
# See https://gitlab.com/libvirt/libvirt/-/merge_requests/235
|
# See https://gitlab.com/libvirt/libvirt/-/merge_requests/235
|
||||||
sed -i "s/not supported_cc_flags.contains('-fsemantic-interposition')/false/" meson.build
|
sed -i "s/not supported_cc_flags.contains('-fsemantic-interposition')/false/" meson.build
|
||||||
sed -i '/qemufirmwaretest/d' tests/meson.build
|
sed -i '/qemufirmwaretest/d' tests/meson.build
|
||||||
|
sed -i '/qemuhotplugtest/d' tests/meson.build
|
||||||
sed -i '/qemuvhostusertest/d' tests/meson.build
|
sed -i '/qemuvhostusertest/d' tests/meson.build
|
||||||
sed -i '/qemuxml2xmltest/d' tests/meson.build
|
sed -i '/qemuxml2xmltest/d' tests/meson.build
|
||||||
'';
|
'';
|
||||||
|
|
|
@ -47,6 +47,8 @@ stdenv.mkDerivation rec {
|
||||||
install -Dm644 -t "$out/share/bash-completion/completions/mirtk" share/completion/bash/mirtk
|
install -Dm644 -t "$out/share/bash-completion/completions/mirtk" share/completion/bash/mirtk
|
||||||
'';
|
'';
|
||||||
|
|
||||||
|
env.NIX_CFLAGS_COMPILE = "-Wno-changes-meaning";
|
||||||
|
|
||||||
nativeBuildInputs = [ cmake ];
|
nativeBuildInputs = [ cmake ];
|
||||||
buildInputs = [
|
buildInputs = [
|
||||||
boost
|
boost
|
||||||
|
|
|
@ -6,12 +6,13 @@
|
||||||
, pytest-aiohttp
|
, pytest-aiohttp
|
||||||
, pytestCheckHook
|
, pytestCheckHook
|
||||||
, pythonOlder
|
, pythonOlder
|
||||||
|
, setuptools
|
||||||
}:
|
}:
|
||||||
|
|
||||||
buildPythonPackage rec {
|
buildPythonPackage rec {
|
||||||
pname = "aioecowitt";
|
pname = "aioecowitt";
|
||||||
version = "2024.2.0";
|
version = "2024.2.1";
|
||||||
format = "setuptools";
|
pyproject = true;
|
||||||
|
|
||||||
disabled = pythonOlder "3.9";
|
disabled = pythonOlder "3.9";
|
||||||
|
|
||||||
|
@ -19,9 +20,13 @@ buildPythonPackage rec {
|
||||||
owner = "home-assistant-libs";
|
owner = "home-assistant-libs";
|
||||||
repo = pname;
|
repo = pname;
|
||||||
rev = "refs/tags/${version}";
|
rev = "refs/tags/${version}";
|
||||||
hash = "sha256-vKpzD6m0zG8yAghmoNKcufqoJUYOTxN3w+ix1ObuLpw=";
|
hash = "sha256-PBV5jk0oItelCDFZsk8et0raIGEWxOaNdHuAViQ6LZc=";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
nativeBuildInputs = [
|
||||||
|
setuptools
|
||||||
|
];
|
||||||
|
|
||||||
propagatedBuildInputs = [
|
propagatedBuildInputs = [
|
||||||
aiohttp
|
aiohttp
|
||||||
meteocalc
|
meteocalc
|
||||||
|
|
|
@ -14,7 +14,7 @@
|
||||||
|
|
||||||
buildPythonPackage rec {
|
buildPythonPackage rec {
|
||||||
pname = "aioelectricitymaps";
|
pname = "aioelectricitymaps";
|
||||||
version = "0.3.0";
|
version = "0.4.0";
|
||||||
pyproject = true;
|
pyproject = true;
|
||||||
|
|
||||||
disabled = pythonOlder "3.11";
|
disabled = pythonOlder "3.11";
|
||||||
|
@ -23,7 +23,7 @@ buildPythonPackage rec {
|
||||||
owner = "jpbede";
|
owner = "jpbede";
|
||||||
repo = "aioelectricitymaps";
|
repo = "aioelectricitymaps";
|
||||||
rev = "refs/tags/v${version}";
|
rev = "refs/tags/v${version}";
|
||||||
hash = "sha256-saIzVbgYx5nIM5fk7i3wu4X1gOIj81L/rRNq5Xl4cnw=";
|
hash = "sha256-q06B40c0uvSuzH/3YCoxg4p9aNIOPrphsoESktF+B14=";
|
||||||
};
|
};
|
||||||
|
|
||||||
postPatch = ''
|
postPatch = ''
|
||||||
|
|
|
@ -23,7 +23,7 @@
|
||||||
|
|
||||||
buildPythonPackage rec {
|
buildPythonPackage rec {
|
||||||
pname = "aioesphomeapi";
|
pname = "aioesphomeapi";
|
||||||
version = "21.0.1";
|
version = "21.0.2";
|
||||||
pyproject = true;
|
pyproject = true;
|
||||||
|
|
||||||
disabled = pythonOlder "3.9";
|
disabled = pythonOlder "3.9";
|
||||||
|
@ -32,7 +32,7 @@ buildPythonPackage rec {
|
||||||
owner = "esphome";
|
owner = "esphome";
|
||||||
repo = pname;
|
repo = pname;
|
||||||
rev = "refs/tags/v${version}";
|
rev = "refs/tags/v${version}";
|
||||||
hash = "sha256-HPnyFHHx1BahqzvRChT85BaG4eJM3qvTq2Tpbqb3SDI=";
|
hash = "sha256-uNVf0wnqVntjTxkNTilvb0v6h3VBCjd91wbLQJ6q71g=";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
|
|
|
@ -10,7 +10,7 @@
|
||||||
|
|
||||||
buildPythonPackage rec {
|
buildPythonPackage rec {
|
||||||
pname = "aiohttp-zlib-ng";
|
pname = "aiohttp-zlib-ng";
|
||||||
version = "0.1.3";
|
version = "0.3.1";
|
||||||
pyproject = true;
|
pyproject = true;
|
||||||
|
|
||||||
disabled = pythonOlder "3.8";
|
disabled = pythonOlder "3.8";
|
||||||
|
@ -19,12 +19,12 @@ buildPythonPackage rec {
|
||||||
owner = "bdraco";
|
owner = "bdraco";
|
||||||
repo = "aiohttp-zlib-ng";
|
repo = "aiohttp-zlib-ng";
|
||||||
rev = "refs/tags/v${version}";
|
rev = "refs/tags/v${version}";
|
||||||
hash = "sha256-t7T3KIGId5CoBciSkwu/sejW45i2EYtq1fHvNKNXlhA=";
|
hash = "sha256-XA2XSX9KA/oBzOLJrhj78uoy6ufLbVTENYZL3y/+fwU=";
|
||||||
};
|
};
|
||||||
|
|
||||||
postPatch = ''
|
postPatch = ''
|
||||||
substituteInPlace pyproject.toml \
|
substituteInPlace pyproject.toml \
|
||||||
--replace " --cov=aiohttp_zlib_ng --cov-report=term-missing:skip-covered" ""
|
--replace-fail " --cov=aiohttp_zlib_ng --cov-report=term-missing:skip-covered" ""
|
||||||
'';
|
'';
|
||||||
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
|
|
|
@ -3,28 +3,37 @@
|
||||||
, bluetooth-data-tools
|
, bluetooth-data-tools
|
||||||
, buildPythonPackage
|
, buildPythonPackage
|
||||||
, fetchFromGitHub
|
, fetchFromGitHub
|
||||||
|
, habluetooth
|
||||||
, orjson
|
, orjson
|
||||||
, pythonOlder
|
, pythonOlder
|
||||||
|
, setuptools
|
||||||
|
, yarl
|
||||||
}:
|
}:
|
||||||
|
|
||||||
buildPythonPackage rec {
|
buildPythonPackage rec {
|
||||||
pname = "aioshelly";
|
pname = "aioshelly";
|
||||||
version = "7.1.0";
|
version = "8.0.1";
|
||||||
format = "setuptools";
|
pyproject = true;
|
||||||
|
|
||||||
disabled = pythonOlder "3.9";
|
disabled = pythonOlder "3.10";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "home-assistant-libs";
|
owner = "home-assistant-libs";
|
||||||
repo = pname;
|
repo = pname;
|
||||||
rev = "refs/tags/${version}";
|
rev = "refs/tags/${version}";
|
||||||
hash = "sha256-W8oAJ7q4cAWq+RF4Hwd8cuPkEZQorsBnjmos5tVSBzc=";
|
hash = "sha256-3W5XfSOaKCCBjDHJh8IP/5I48py3j6i2O3FfhbcQzbY=";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
nativeBuildInputs = [
|
||||||
|
setuptools
|
||||||
|
];
|
||||||
|
|
||||||
propagatedBuildInputs = [
|
propagatedBuildInputs = [
|
||||||
aiohttp
|
aiohttp
|
||||||
bluetooth-data-tools
|
bluetooth-data-tools
|
||||||
|
habluetooth
|
||||||
orjson
|
orjson
|
||||||
|
yarl
|
||||||
];
|
];
|
||||||
|
|
||||||
# Project has no test
|
# Project has no test
|
||||||
|
|
|
@ -15,7 +15,7 @@
|
||||||
|
|
||||||
buildPythonPackage rec {
|
buildPythonPackage rec {
|
||||||
pname = "aiounifi";
|
pname = "aiounifi";
|
||||||
version = "69";
|
version = "70";
|
||||||
pyproject = true;
|
pyproject = true;
|
||||||
|
|
||||||
disabled = pythonOlder "3.11";
|
disabled = pythonOlder "3.11";
|
||||||
|
@ -24,7 +24,7 @@ buildPythonPackage rec {
|
||||||
owner = "Kane610";
|
owner = "Kane610";
|
||||||
repo = "aiounifi";
|
repo = "aiounifi";
|
||||||
rev = "refs/tags/v${version}";
|
rev = "refs/tags/v${version}";
|
||||||
hash = "sha256-XYwdnG3OprHRZm3zQgoPw4VOzvvVflsQzi7+XQiASAU=";
|
hash = "sha256-yLqGqRWzuMqymGqGR1mA4oQb+tWt58lA7C/kXC5bYz8=";
|
||||||
};
|
};
|
||||||
|
|
||||||
postPatch = ''
|
postPatch = ''
|
||||||
|
@ -66,6 +66,6 @@ buildPythonPackage rec {
|
||||||
homepage = "https://github.com/Kane610/aiounifi";
|
homepage = "https://github.com/Kane610/aiounifi";
|
||||||
changelog = "https://github.com/Kane610/aiounifi/releases/tag/v${version}";
|
changelog = "https://github.com/Kane610/aiounifi/releases/tag/v${version}";
|
||||||
license = licenses.mit;
|
license = licenses.mit;
|
||||||
maintainers = with maintainers; [ peterhoeg ];
|
maintainers = with maintainers; [ ];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -13,7 +13,7 @@
|
||||||
|
|
||||||
buildPythonPackage rec {
|
buildPythonPackage rec {
|
||||||
pname = "awesomeversion";
|
pname = "awesomeversion";
|
||||||
version = "23.11.0";
|
version = "24.2.0";
|
||||||
format = "pyproject";
|
format = "pyproject";
|
||||||
|
|
||||||
disabled = pythonOlder "3.8";
|
disabled = pythonOlder "3.8";
|
||||||
|
@ -22,7 +22,7 @@ buildPythonPackage rec {
|
||||||
owner = "ludeeus";
|
owner = "ludeeus";
|
||||||
repo = pname;
|
repo = pname;
|
||||||
rev = "refs/tags/${version}";
|
rev = "refs/tags/${version}";
|
||||||
hash = "sha256-glnM32ha5eXVpoaDkEsbwdH1oiG9qMxFwbtqLx+Kl98=";
|
hash = "sha256-bpLtHhpWc1VweVl5G8mM473Js3bXT11N3Zc0jiVqq5c=";
|
||||||
};
|
};
|
||||||
|
|
||||||
postPatch = ''
|
postPatch = ''
|
||||||
|
|
|
@ -16,7 +16,7 @@
|
||||||
|
|
||||||
buildPythonPackage rec {
|
buildPythonPackage rec {
|
||||||
pname = "bellows";
|
pname = "bellows";
|
||||||
version = "0.37.6";
|
version = "0.38.0";
|
||||||
pyproject = true;
|
pyproject = true;
|
||||||
|
|
||||||
disabled = pythonOlder "3.8";
|
disabled = pythonOlder "3.8";
|
||||||
|
@ -25,7 +25,7 @@ buildPythonPackage rec {
|
||||||
owner = "zigpy";
|
owner = "zigpy";
|
||||||
repo = "bellows";
|
repo = "bellows";
|
||||||
rev = "refs/tags/${version}";
|
rev = "refs/tags/${version}";
|
||||||
hash = "sha256-S3Yf0C+KInYoDaixlJf+9WSPIcEhfQCdcwEuNQYxugU=";
|
hash = "sha256-7aqzhujTn1TMYBA6+79Ok76yv8hXszuuZ7TjhJ6zbQw=";
|
||||||
};
|
};
|
||||||
|
|
||||||
postPatch = ''
|
postPatch = ''
|
||||||
|
|
|
@ -13,7 +13,7 @@
|
||||||
|
|
||||||
buildPythonPackage rec {
|
buildPythonPackage rec {
|
||||||
pname = "dbus-fast";
|
pname = "dbus-fast";
|
||||||
version = "2.21.0";
|
version = "2.21.1";
|
||||||
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-P2Czo7XRJLDnR62eLb2lYn97nS5x6LsnYHs47+mvktQ=";
|
hash = "sha256-L3PZjxbcVfqWktWuN5l8JxfR1GyxuA+1ZtO/W2YqFZA=";
|
||||||
};
|
};
|
||||||
|
|
||||||
# The project can build both an optimized cython version and an unoptimized
|
# The project can build both an optimized cython version and an unoptimized
|
||||||
|
|
|
@ -16,7 +16,7 @@
|
||||||
|
|
||||||
buildPythonPackage rec {
|
buildPythonPackage rec {
|
||||||
pname = "habluetooth";
|
pname = "habluetooth";
|
||||||
version = "2.1.0";
|
version = "2.4.0";
|
||||||
pyproject = true;
|
pyproject = true;
|
||||||
|
|
||||||
disabled = pythonOlder "3.10";
|
disabled = pythonOlder "3.10";
|
||||||
|
@ -25,7 +25,7 @@ buildPythonPackage rec {
|
||||||
owner = "Bluetooth-Devices";
|
owner = "Bluetooth-Devices";
|
||||||
repo = "habluetooth";
|
repo = "habluetooth";
|
||||||
rev = "refs/tags/v${version}";
|
rev = "refs/tags/v${version}";
|
||||||
hash = "sha256-oPdKmaj2wKgOQw7QYwOQc8efcNtQiGryZgNJ+bbB6L8=";
|
hash = "sha256-bZtcvidjUhlb9ML1UIP00yqJ+KnJig5i0j/tAZSK7+Y=";
|
||||||
};
|
};
|
||||||
|
|
||||||
postPatch = ''
|
postPatch = ''
|
||||||
|
|
|
@ -21,7 +21,7 @@
|
||||||
|
|
||||||
buildPythonPackage rec {
|
buildPythonPackage rec {
|
||||||
pname = "hass-nabucasa";
|
pname = "hass-nabucasa";
|
||||||
version = "0.75.1";
|
version = "0.78.0";
|
||||||
pyproject = true;
|
pyproject = true;
|
||||||
|
|
||||||
disabled = pythonOlder "3.10";
|
disabled = pythonOlder "3.10";
|
||||||
|
@ -30,7 +30,7 @@ buildPythonPackage rec {
|
||||||
owner = "nabucasa";
|
owner = "nabucasa";
|
||||||
repo = pname;
|
repo = pname;
|
||||||
rev = "refs/tags/${version}";
|
rev = "refs/tags/${version}";
|
||||||
hash = "sha256-VQ5nxkrHt6xp+bk/wqAPJ+srTuf9WyamoLXawW1mKWo=";
|
hash = "sha256-ZqBYmh+MA4ZuhnUQPn/C8d7CVPrwp6mirsWnoB/ZMFw=";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
|
|
|
@ -13,7 +13,7 @@
|
||||||
|
|
||||||
let
|
let
|
||||||
pname = "hassil";
|
pname = "hassil";
|
||||||
version = "1.5.1";
|
version = "1.6.1";
|
||||||
in
|
in
|
||||||
buildPythonPackage {
|
buildPythonPackage {
|
||||||
inherit pname version;
|
inherit pname version;
|
||||||
|
@ -23,7 +23,7 @@ buildPythonPackage {
|
||||||
|
|
||||||
src = fetchPypi {
|
src = fetchPypi {
|
||||||
inherit pname version;
|
inherit pname version;
|
||||||
hash = "sha256-GLvDT8BUBvEzgiqKaXokF912g3fOH+KsXnmeOXIwe9U=";
|
hash = "sha256-jkPo02Jy6UqyC5YvwMw+DDkT8rG5Xe4EiNVED/JHzKc=";
|
||||||
};
|
};
|
||||||
|
|
||||||
propagatedBuildInputs = [
|
propagatedBuildInputs = [
|
||||||
|
|
|
@ -21,16 +21,16 @@
|
||||||
|
|
||||||
buildPythonPackage rec {
|
buildPythonPackage rec {
|
||||||
pname = "holidays";
|
pname = "holidays";
|
||||||
version = "0.40";
|
version = "0.42";
|
||||||
pyproject = true;
|
pyproject = true;
|
||||||
|
|
||||||
disabled = pythonOlder "3.8";
|
disabled = pythonOlder "3.8";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "dr-prodigy";
|
owner = "vacanza";
|
||||||
repo = "python-holidays";
|
repo = "python-holidays";
|
||||||
rev = "refs/tags/v${version}";
|
rev = "refs/tags/v${version}";
|
||||||
hash = "sha256-rFitLHUgXSWNd59VzG01ggaTHfVzI50OAi7Gxr6pMug=";
|
hash = "sha256-BVmH3LO0VjIcpS8HoQmP6mHv7zDK0Aw3pS4oiZWhF/4=";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
|
@ -75,8 +75,8 @@ buildPythonPackage rec {
|
||||||
|
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
description = "Generate and work with holidays in Python";
|
description = "Generate and work with holidays in Python";
|
||||||
homepage = "https://github.com/dr-prodigy/python-holidays";
|
homepage = "https://github.com/vacanza/python-holidays";
|
||||||
changelog = "https://github.com/dr-prodigy/python-holidays/releases/tag/v${version}";
|
changelog = "https://github.com/vacanza/python-holidays/releases/tag/v${version}";
|
||||||
license = licenses.mit;
|
license = licenses.mit;
|
||||||
maintainers = with maintainers; [ fab jluttine ];
|
maintainers = with maintainers; [ fab jluttine ];
|
||||||
};
|
};
|
||||||
|
|
|
@ -27,7 +27,7 @@ buildPythonPackage rec {
|
||||||
owner = "home-assistant-libs";
|
owner = "home-assistant-libs";
|
||||||
repo = "home-assistant-bluetooth";
|
repo = "home-assistant-bluetooth";
|
||||||
rev = "refs/tags/v${version}";
|
rev = "refs/tags/v${version}";
|
||||||
hash = "sha256-1Bp43TaJkrT9lZsBu4yiuOD4tE7vv6bYRlcgTfNwOuA=";
|
hash = "sha256-KTaZ3xbZpBIN5zP73YdJW6QeCQThGdqejnfWwvL+0R8=";
|
||||||
};
|
};
|
||||||
|
|
||||||
postPatch = ''
|
postPatch = ''
|
||||||
|
|
|
@ -7,7 +7,7 @@
|
||||||
|
|
||||||
buildPythonPackage rec {
|
buildPythonPackage rec {
|
||||||
pname = "home-assistant-chip-clusters";
|
pname = "home-assistant-chip-clusters";
|
||||||
version = "2023.12.0";
|
version = "2024.1.0";
|
||||||
format = "wheel";
|
format = "wheel";
|
||||||
|
|
||||||
src = fetchPypi {
|
src = fetchPypi {
|
||||||
|
@ -15,7 +15,7 @@ buildPythonPackage rec {
|
||||||
pname = "home_assistant_chip_clusters";
|
pname = "home_assistant_chip_clusters";
|
||||||
dist = "py3";
|
dist = "py3";
|
||||||
python = "py3";
|
python = "py3";
|
||||||
hash = "sha256-4yAfbQBqHMEXWMwJ0kSDs0We/AsHweJ+Tc8aZiWi90w=";
|
hash = "sha256-4btkqAHbwAsyGV1LjngEoeTT5qyI8dtqFVTp0lIFwmg=";
|
||||||
};
|
};
|
||||||
|
|
||||||
propagatedBuildInputs = [
|
propagatedBuildInputs = [
|
||||||
|
|
|
@ -28,7 +28,7 @@
|
||||||
|
|
||||||
buildPythonPackage rec {
|
buildPythonPackage rec {
|
||||||
pname = "home-assistant-chip-core";
|
pname = "home-assistant-chip-core";
|
||||||
version = "2023.12.0";
|
version = "2024.1.0";
|
||||||
format = "wheel";
|
format = "wheel";
|
||||||
|
|
||||||
disabled = pythonOlder "3.7";
|
disabled = pythonOlder "3.7";
|
||||||
|
@ -41,7 +41,7 @@ buildPythonPackage rec {
|
||||||
};
|
};
|
||||||
"x86_64-linux" = {
|
"x86_64-linux" = {
|
||||||
name = "x86_64";
|
name = "x86_64";
|
||||||
hash = "sha256-wRJWgT+uycCwNKMgHaiACv1y+AvOLrPOpcm2I8hVAxk=";
|
hash = "sha256-/+gegUMd2n7MpJvdilS5VWefXc0tuRcLrXBBXSH35b0=";
|
||||||
};
|
};
|
||||||
}.${stdenv.system} or (throw "Unsupported system");
|
}.${stdenv.system} or (throw "Unsupported system");
|
||||||
in fetchPypi {
|
in fetchPypi {
|
||||||
|
|
|
@ -1,35 +1,23 @@
|
||||||
{ lib
|
{ lib
|
||||||
, buildPythonPackage
|
, buildPythonPackage
|
||||||
, fetchpatch
|
|
||||||
, fetchPypi
|
, fetchPypi
|
||||||
, setuptools
|
, setuptools
|
||||||
, wheel
|
|
||||||
}:
|
}:
|
||||||
|
|
||||||
buildPythonPackage rec {
|
buildPythonPackage rec {
|
||||||
pname = "knx-frontend";
|
pname = "knx-frontend";
|
||||||
version = "2023.6.23.191712";
|
version = "2024.1.20.105944";
|
||||||
format = "pyproject";
|
format = "pyproject";
|
||||||
|
|
||||||
# TODO: source build, uses yarn.lock
|
# TODO: source build, uses yarn.lock
|
||||||
src = fetchPypi {
|
src = fetchPypi {
|
||||||
pname = "knx_frontend";
|
pname = "knx_frontend";
|
||||||
inherit version;
|
inherit version;
|
||||||
hash = "sha256-MeurZ6731qjeBK6HTwXYLVs6+nXF9Hf1p8/NNwxmae4=";
|
hash = "sha256-5u+BaZjbGpIpQd3k+u5NC099TQuiwGKdE/EoIWny01I=";
|
||||||
};
|
};
|
||||||
|
|
||||||
patches = [
|
|
||||||
# https://github.com/XKNX/knx-frontend/pull/96
|
|
||||||
(fetchpatch {
|
|
||||||
name = "relax-setuptools-dependency.patch";
|
|
||||||
url = "https://github.com/XKNX/knx-frontend/commit/72ac6dc42eeeb488992b0709ee58ea4a79287817.patch";
|
|
||||||
hash = "sha256-EpfgEq4pIx7ahqJZalzo30ruj8NlZYHcKHxFXCGL98w=";
|
|
||||||
})
|
|
||||||
];
|
|
||||||
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
setuptools
|
setuptools
|
||||||
wheel
|
|
||||||
];
|
];
|
||||||
|
|
||||||
pythonImportsCheck = [
|
pythonImportsCheck = [
|
||||||
|
|
|
@ -1,54 +1,57 @@
|
||||||
{ lib
|
{ lib
|
||||||
, buildPythonPackage
|
, buildPythonPackage
|
||||||
, fetchFromGitHub
|
, fetchFromGitHub
|
||||||
, logbook
|
|
||||||
|
# build-system
|
||||||
|
, poetry-core
|
||||||
|
|
||||||
|
# dependencies
|
||||||
, aiofiles
|
, aiofiles
|
||||||
, aiohttp
|
, aiohttp
|
||||||
, aiohttp-socks
|
, aiohttp-socks
|
||||||
, aioresponses
|
|
||||||
, atomicwrites
|
|
||||||
, attrs
|
|
||||||
, cachetools
|
|
||||||
, faker
|
|
||||||
, future
|
|
||||||
, git
|
|
||||||
, h11
|
, h11
|
||||||
, h2
|
, h2
|
||||||
, hypothesis
|
|
||||||
, jsonschema
|
, jsonschema
|
||||||
, peewee
|
|
||||||
, poetry-core
|
|
||||||
, py
|
|
||||||
, pycryptodome
|
, pycryptodome
|
||||||
|
, unpaddedbase64
|
||||||
|
|
||||||
|
# optional-dependencies
|
||||||
|
, atomicwrites
|
||||||
|
, cachetools
|
||||||
|
, peewee
|
||||||
|
, python-olm
|
||||||
|
|
||||||
|
# tests
|
||||||
|
, aioresponses
|
||||||
|
, faker
|
||||||
|
, hpack
|
||||||
|
, hyperframe
|
||||||
|
, hypothesis
|
||||||
, pytest-aiohttp
|
, pytest-aiohttp
|
||||||
, pytest-benchmark
|
, pytest-benchmark
|
||||||
, pytestCheckHook
|
, pytestCheckHook
|
||||||
, python-olm
|
|
||||||
, unpaddedbase64
|
# passthru tests
|
||||||
|
, nixosTests
|
||||||
|
, opsdroid
|
||||||
|
, pantalaimon
|
||||||
|
, weechatScripts
|
||||||
|
, zulip
|
||||||
}:
|
}:
|
||||||
|
|
||||||
buildPythonPackage rec {
|
buildPythonPackage rec {
|
||||||
pname = "matrix-nio";
|
pname = "matrix-nio";
|
||||||
version = "0.22.1";
|
version = "0.24.0";
|
||||||
format = "pyproject";
|
format = "pyproject";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "poljar";
|
owner = "poljar";
|
||||||
repo = "matrix-nio";
|
repo = "matrix-nio";
|
||||||
rev = version;
|
rev = version;
|
||||||
hash = "sha256-hFSS2Nys95YJgBNED8SBan24iRo2q/UOr6pqUPAF5Ms=";
|
hash = "sha256-XlswVHLvKOi1qr+I7Mbm4IBjn1DG7glgDsNY48NA5Ew=";
|
||||||
};
|
};
|
||||||
|
|
||||||
postPatch = ''
|
|
||||||
substituteInPlace pyproject.toml \
|
|
||||||
--replace 'aiofiles = "^0.6.0"' 'aiofiles = "*"' \
|
|
||||||
--replace 'h11 = "^0.12.0"' 'h11 = "*"' \
|
|
||||||
--replace 'cachetools = { version = "^4.2.1", optional = true }' 'cachetools = { version = "*", optional = true }' \
|
|
||||||
--replace 'aiohttp-socks = "^0.7.0"' 'aiohttp-socks = "*"'
|
|
||||||
'';
|
|
||||||
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
git
|
|
||||||
poetry-core
|
poetry-core
|
||||||
];
|
];
|
||||||
|
|
||||||
|
@ -56,12 +59,9 @@ buildPythonPackage rec {
|
||||||
aiofiles
|
aiofiles
|
||||||
aiohttp
|
aiohttp
|
||||||
aiohttp-socks
|
aiohttp-socks
|
||||||
attrs
|
|
||||||
future
|
|
||||||
h11
|
h11
|
||||||
h2
|
h2
|
||||||
jsonschema
|
jsonschema
|
||||||
logbook
|
|
||||||
pycryptodome
|
pycryptodome
|
||||||
unpaddedbase64
|
unpaddedbase64
|
||||||
];
|
];
|
||||||
|
@ -78,8 +78,9 @@ buildPythonPackage rec {
|
||||||
nativeCheckInputs = [
|
nativeCheckInputs = [
|
||||||
aioresponses
|
aioresponses
|
||||||
faker
|
faker
|
||||||
|
hpack
|
||||||
|
hyperframe
|
||||||
hypothesis
|
hypothesis
|
||||||
py
|
|
||||||
pytest-aiohttp
|
pytest-aiohttp
|
||||||
pytest-benchmark
|
pytest-benchmark
|
||||||
pytestCheckHook
|
pytestCheckHook
|
||||||
|
@ -96,6 +97,23 @@ buildPythonPackage rec {
|
||||||
"test_transfer_monitor_callbacks"
|
"test_transfer_monitor_callbacks"
|
||||||
];
|
];
|
||||||
|
|
||||||
|
passthru.tests = {
|
||||||
|
inherit (nixosTests)
|
||||||
|
dendrite
|
||||||
|
matrix-appservice-irc
|
||||||
|
matrix-conduit
|
||||||
|
mjolnir
|
||||||
|
;
|
||||||
|
inherit (weechatScripts)
|
||||||
|
weechat-matrix
|
||||||
|
;
|
||||||
|
inherit
|
||||||
|
opsdroid
|
||||||
|
pantalaimon
|
||||||
|
zulip
|
||||||
|
;
|
||||||
|
};
|
||||||
|
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
homepage = "https://github.com/poljar/matrix-nio";
|
homepage = "https://github.com/poljar/matrix-nio";
|
||||||
changelog = "https://github.com/poljar/matrix-nio/blob/${version}/CHANGELOG.md";
|
changelog = "https://github.com/poljar/matrix-nio/blob/${version}/CHANGELOG.md";
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
{ lib
|
{ lib
|
||||||
, buildPythonPackage
|
, buildPythonPackage
|
||||||
, fetchPypi
|
, fetchFromGitHub
|
||||||
, pythonOlder
|
, pythonOlder
|
||||||
, can
|
, can
|
||||||
, cobs
|
, cobs
|
||||||
|
@ -8,31 +8,80 @@
|
||||||
, nunavut
|
, nunavut
|
||||||
, numpy
|
, numpy
|
||||||
, pyserial
|
, pyserial
|
||||||
|
, pytestCheckHook
|
||||||
|
, pytest-asyncio
|
||||||
|
, setuptools
|
||||||
}:
|
}:
|
||||||
|
|
||||||
buildPythonPackage rec {
|
buildPythonPackage rec {
|
||||||
pname = "pycyphal";
|
pname = "pycyphal";
|
||||||
version = "1.15.4";
|
version = "1.18.0";
|
||||||
format = "pyproject";
|
format = "setuptools";
|
||||||
|
|
||||||
disabled = pythonOlder "3.8";
|
disabled = pythonOlder "3.8";
|
||||||
|
|
||||||
src = fetchPypi {
|
src = fetchFromGitHub {
|
||||||
inherit pname version;
|
owner = "OpenCyphal";
|
||||||
hash = "sha256-0Mp8d/rNOOPLg0gUPWdOgp/d5n148dxcLceW1VtjrkQ=";
|
repo = pname;
|
||||||
|
rev = "refs/tags/${version}";
|
||||||
|
hash = "sha256-XkH0wss8ueh/Wwz0lhvQShOp3a4X9lNdosT/sMe7p4Q=";
|
||||||
|
fetchSubmodules = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
propagatedBuildInputs = [
|
propagatedBuildInputs = [
|
||||||
can
|
|
||||||
cobs
|
|
||||||
libpcap
|
|
||||||
numpy
|
numpy
|
||||||
nunavut
|
nunavut
|
||||||
pyserial
|
|
||||||
];
|
];
|
||||||
|
|
||||||
# Can't seem to run the tests on nix
|
passthru.optional-dependencies = {
|
||||||
doCheck = false;
|
transport-can-pythoncan = [
|
||||||
|
can
|
||||||
|
] ++ can.optional-dependencies.serial;
|
||||||
|
transport-serial = [
|
||||||
|
cobs
|
||||||
|
pyserial
|
||||||
|
];
|
||||||
|
transport-udp = [
|
||||||
|
libpcap
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
|
nativeCheckInputs = [
|
||||||
|
pytestCheckHook
|
||||||
|
pytest-asyncio
|
||||||
|
] ++ builtins.foldl' (x: y: x ++ y) [ ]
|
||||||
|
(builtins.attrValues passthru.optional-dependencies)
|
||||||
|
;
|
||||||
|
|
||||||
|
preCheck = ''
|
||||||
|
export HOME=$TMPDIR
|
||||||
|
export PYTHONASYNCIODEBUG=1
|
||||||
|
python -c ${lib.escapeShellArg ''
|
||||||
|
import pycyphal
|
||||||
|
pycyphal.dsdl.compile_all(
|
||||||
|
[
|
||||||
|
"demo/public_regulated_data_types/uavcan",
|
||||||
|
"demo/custom_data_types/sirius_cyber_corp",
|
||||||
|
],
|
||||||
|
output_directory=".dsdl_compiled",
|
||||||
|
)
|
||||||
|
''}
|
||||||
|
export PYTHONPATH="$(pwd)/.dsdl_compiled:$PYTHONPATH"
|
||||||
|
'';
|
||||||
|
|
||||||
|
# These require extra permissions and/or actual hardware connected
|
||||||
|
disabledTestPaths = [
|
||||||
|
"pycyphal/application/__init__.py"
|
||||||
|
"pycyphal/application/_transport_factory.py"
|
||||||
|
"pycyphal/transport/udp/_ip/_link_layer.py"
|
||||||
|
"pycyphal/transport/udp/_ip/_v4.py"
|
||||||
|
"tests/application"
|
||||||
|
"tests/demo"
|
||||||
|
"tests/dsdl"
|
||||||
|
"tests/presentation"
|
||||||
|
"tests/transport"
|
||||||
|
];
|
||||||
|
|
||||||
pythonImportsCheck = [
|
pythonImportsCheck = [
|
||||||
"pycyphal"
|
"pycyphal"
|
||||||
];
|
];
|
||||||
|
@ -43,6 +92,7 @@ buildPythonPackage rec {
|
||||||
Cyphal is an open technology for real-time intravehicular distributed computing and communication based on modern networking standards (Ethernet, CAN FD, etc.).
|
Cyphal is an open technology for real-time intravehicular distributed computing and communication based on modern networking standards (Ethernet, CAN FD, etc.).
|
||||||
'';
|
'';
|
||||||
homepage = "https://opencyphal.org/";
|
homepage = "https://opencyphal.org/";
|
||||||
|
changelog = "https://github.com/OpenCyphal/pycyphal/blob/${version}/CHANGELOG.rst";
|
||||||
license = licenses.mit;
|
license = licenses.mit;
|
||||||
maintainers = teams.ororatech.members;
|
maintainers = teams.ororatech.members;
|
||||||
};
|
};
|
||||||
|
|
|
@ -18,6 +18,7 @@
|
||||||
# optionals
|
# optionals
|
||||||
, cryptography
|
, cryptography
|
||||||
, home-assistant-chip-core
|
, home-assistant-chip-core
|
||||||
|
, zeroconf
|
||||||
|
|
||||||
# tests
|
# tests
|
||||||
, python
|
, python
|
||||||
|
@ -28,7 +29,7 @@
|
||||||
|
|
||||||
buildPythonPackage rec {
|
buildPythonPackage rec {
|
||||||
pname = "python-matter-server";
|
pname = "python-matter-server";
|
||||||
version = "5.1.1";
|
version = "5.5.3";
|
||||||
format = "pyproject";
|
format = "pyproject";
|
||||||
|
|
||||||
disabled = pythonOlder "3.10";
|
disabled = pythonOlder "3.10";
|
||||||
|
@ -37,7 +38,7 @@ buildPythonPackage rec {
|
||||||
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-y4gapml7rIwOu1TVDEHPch7JS5Rl/cIfMLeVMIFzXOY=";
|
hash = "sha256-8daAABR5l8ZEX+PR4XrxRHlLllgnOVE4Q9yY/7UQXHw=";
|
||||||
};
|
};
|
||||||
|
|
||||||
postPatch = ''
|
postPatch = ''
|
||||||
|
@ -63,6 +64,7 @@ buildPythonPackage rec {
|
||||||
server = [
|
server = [
|
||||||
cryptography
|
cryptography
|
||||||
home-assistant-chip-core
|
home-assistant-chip-core
|
||||||
|
zeroconf
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -70,7 +72,7 @@ buildPythonPackage rec {
|
||||||
pytest-aiohttp
|
pytest-aiohttp
|
||||||
pytestCheckHook
|
pytestCheckHook
|
||||||
]
|
]
|
||||||
++ lib.flatten (builtins.attrValues passthru.optional-dependencies);
|
++ lib.flatten (lib.attrValues passthru.optional-dependencies);
|
||||||
|
|
||||||
preCheck = let
|
preCheck = let
|
||||||
pythonEnv = python.withPackages (_: propagatedBuildInputs ++ nativeCheckInputs ++ [ pytest ]);
|
pythonEnv = python.withPackages (_: propagatedBuildInputs ++ nativeCheckInputs ++ [ pytest ]);
|
||||||
|
|
|
@ -2,6 +2,7 @@
|
||||||
, buildPythonPackage
|
, buildPythonPackage
|
||||||
, fetchPypi
|
, fetchPypi
|
||||||
, pythonOlder
|
, pythonOlder
|
||||||
|
, setuptools
|
||||||
, ipython
|
, ipython
|
||||||
, matplotlib
|
, matplotlib
|
||||||
, numpy
|
, numpy
|
||||||
|
@ -12,7 +13,7 @@
|
||||||
buildPythonPackage rec {
|
buildPythonPackage rec {
|
||||||
pname = "summarytools";
|
pname = "summarytools";
|
||||||
version = "0.2.3";
|
version = "0.2.3";
|
||||||
format = "pyproject";
|
pyproject = true;
|
||||||
|
|
||||||
disabled = pythonOlder "3.7";
|
disabled = pythonOlder "3.7";
|
||||||
|
|
||||||
|
@ -22,6 +23,8 @@ buildPythonPackage rec {
|
||||||
hash = "sha256-wsDf9IXCMQe0cVfQQuRVwMhxkhhUxbPu06yWZPLvgw4=";
|
hash = "sha256-wsDf9IXCMQe0cVfQQuRVwMhxkhhUxbPu06yWZPLvgw4=";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
nativeBuildInputs = [ setuptools ];
|
||||||
|
|
||||||
propagatedBuildInputs = [
|
propagatedBuildInputs = [
|
||||||
ipython
|
ipython
|
||||||
matplotlib
|
matplotlib
|
||||||
|
|
|
@ -3,14 +3,16 @@
|
||||||
, fetchFromGitHub
|
, fetchFromGitHub
|
||||||
, pytestCheckHook
|
, pytestCheckHook
|
||||||
, pythonOlder
|
, pythonOlder
|
||||||
, requests
|
, aiohttp
|
||||||
, responses
|
, urllib3
|
||||||
|
, orjson
|
||||||
|
, aresponses
|
||||||
, setuptools
|
, setuptools
|
||||||
}:
|
}:
|
||||||
|
|
||||||
buildPythonPackage rec {
|
buildPythonPackage rec {
|
||||||
pname = "tesla-powerwall";
|
pname = "tesla-powerwall";
|
||||||
version = "0.4.0";
|
version = "0.5.1";
|
||||||
pyproject = true;
|
pyproject = true;
|
||||||
|
|
||||||
disabled = pythonOlder "3.7";
|
disabled = pythonOlder "3.7";
|
||||||
|
@ -19,7 +21,7 @@ buildPythonPackage rec {
|
||||||
owner = "jrester";
|
owner = "jrester";
|
||||||
repo = "tesla_powerwall";
|
repo = "tesla_powerwall";
|
||||||
rev = "refs/tags/v${version}";
|
rev = "refs/tags/v${version}";
|
||||||
hash = "sha256-IqUxWwEvrSEbLAEnHG84oCV75qO0L5LmgpHOfaM6G8o=";
|
hash = "sha256-if/FCfxAB48WGXZOMvCtdSOW2FWO43OrlcHZbXIPmGE=";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
|
@ -27,12 +29,14 @@ buildPythonPackage rec {
|
||||||
];
|
];
|
||||||
|
|
||||||
propagatedBuildInputs = [
|
propagatedBuildInputs = [
|
||||||
requests
|
aiohttp
|
||||||
|
urllib3
|
||||||
|
orjson
|
||||||
];
|
];
|
||||||
|
|
||||||
nativeCheckInputs = [
|
nativeCheckInputs = [
|
||||||
|
aresponses
|
||||||
pytestCheckHook
|
pytestCheckHook
|
||||||
responses
|
|
||||||
];
|
];
|
||||||
|
|
||||||
pytestFlagsArray = [
|
pytestFlagsArray = [
|
||||||
|
|
|
@ -11,7 +11,7 @@
|
||||||
|
|
||||||
buildPythonPackage rec {
|
buildPythonPackage rec {
|
||||||
pname = "thermopro-ble";
|
pname = "thermopro-ble";
|
||||||
version = "0.8.0";
|
version = "0.9.0";
|
||||||
format = "pyproject";
|
format = "pyproject";
|
||||||
|
|
||||||
disabled = pythonOlder "3.9";
|
disabled = pythonOlder "3.9";
|
||||||
|
@ -20,7 +20,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-ENzFX0rD97hCnllFKjcSGbAbEksqln/Hj0MuDVOKGDo=";
|
hash = "sha256-x/eO+LNJ98ThrQD5c9S54cPRnupN21UkpF7uR3+WwSU=";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
|
|
|
@ -2,6 +2,7 @@
|
||||||
, stdenv
|
, stdenv
|
||||||
, buildPythonPackage
|
, buildPythonPackage
|
||||||
, fetchFromGitHub
|
, fetchFromGitHub
|
||||||
|
, pythonRelaxDepsHook
|
||||||
|
|
||||||
# build-system
|
# build-system
|
||||||
, setuptools
|
, setuptools
|
||||||
|
@ -26,21 +27,27 @@
|
||||||
|
|
||||||
buildPythonPackage rec {
|
buildPythonPackage rec {
|
||||||
pname = "universal-silabs-flasher";
|
pname = "universal-silabs-flasher";
|
||||||
version = "0.0.15";
|
version = "0.0.18";
|
||||||
pyproject = true;
|
pyproject = true;
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "NabuCasa";
|
owner = "NabuCasa";
|
||||||
repo = "universal-silabs-flasher";
|
repo = "universal-silabs-flasher";
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
hash = "sha256-5hA1i2XzKzQDRrZfOaA6I3X7hU+nSd7HpcHHNIzZO7g=";
|
hash = "sha256-XUMpWzDqouhbsP+s0b13f6N0YGdXJK6qhbWQLqMzNHM=";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
|
pythonRelaxDepsHook
|
||||||
setuptools
|
setuptools
|
||||||
setuptools-git-versioning
|
setuptools-git-versioning
|
||||||
];
|
];
|
||||||
|
|
||||||
|
pythonRelaxDeps = [
|
||||||
|
# https://github.com/NabuCasa/universal-silabs-flasher/pull/50
|
||||||
|
"gpiod"
|
||||||
|
];
|
||||||
|
|
||||||
propagatedBuildInputs = [
|
propagatedBuildInputs = [
|
||||||
async-timeout
|
async-timeout
|
||||||
bellows
|
bellows
|
||||||
|
|
|
@ -16,14 +16,14 @@
|
||||||
|
|
||||||
buildPythonPackage rec {
|
buildPythonPackage rec {
|
||||||
pname = "wyoming";
|
pname = "wyoming";
|
||||||
version = "1.4.0";
|
version = "1.5.2";
|
||||||
pyproject = true;
|
pyproject = true;
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "rhasspy";
|
owner = "rhasspy";
|
||||||
repo = "wyoming";
|
repo = "wyoming";
|
||||||
rev = "refs/tags/${version}";
|
rev = "refs/tags/${version}";
|
||||||
hash = "sha256-59/6tRHHAu31VFuKhj2LCEUqkdVi81fu5POuGJmw9bw=";
|
hash = "sha256-2bc5coKL5KlTeL9fdghPmRF66NXfimHOKGtE2yPXgrA=";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
|
|
|
@ -11,7 +11,7 @@
|
||||||
|
|
||||||
buildPythonPackage rec {
|
buildPythonPackage rec {
|
||||||
pname = "zha-quirks";
|
pname = "zha-quirks";
|
||||||
version = "0.0.109";
|
version = "0.0.111";
|
||||||
pyproject = true;
|
pyproject = true;
|
||||||
|
|
||||||
disabled = pythonOlder "3.8";
|
disabled = pythonOlder "3.8";
|
||||||
|
@ -20,7 +20,7 @@ buildPythonPackage rec {
|
||||||
owner = "zigpy";
|
owner = "zigpy";
|
||||||
repo = "zha-device-handlers";
|
repo = "zha-device-handlers";
|
||||||
rev = "refs/tags/${version}";
|
rev = "refs/tags/${version}";
|
||||||
hash = "sha256-fkE44j+wXdIJekJJNoO67YzsghalTUpyNx9R/B2Vn1Y=";
|
hash = "sha256-e2Ho/LBdnEKn7hgykhstjv8ZUYAn41e1+rsgA1MEmf4=";
|
||||||
};
|
};
|
||||||
|
|
||||||
postPatch = ''
|
postPatch = ''
|
||||||
|
|
|
@ -62,6 +62,17 @@ buildPythonPackage rec {
|
||||||
"--reruns=3"
|
"--reruns=3"
|
||||||
];
|
];
|
||||||
|
|
||||||
|
disabledTests = [
|
||||||
|
# failing since zigpy 0.60.0
|
||||||
|
"test_join_device"
|
||||||
|
"test_nonstandard_profile"
|
||||||
|
"test_permit_join"
|
||||||
|
"test_request_recovery_route_rediscovery_zdo"
|
||||||
|
"test_watchdog"
|
||||||
|
"test_zigpy_request"
|
||||||
|
"test_zigpy_request_failure"
|
||||||
|
];
|
||||||
|
|
||||||
pythonImportsCheck = [
|
pythonImportsCheck = [
|
||||||
"zigpy_znp"
|
"zigpy_znp"
|
||||||
];
|
];
|
||||||
|
|
|
@ -18,8 +18,8 @@
|
||||||
|
|
||||||
buildPythonPackage rec {
|
buildPythonPackage rec {
|
||||||
pname = "zigpy";
|
pname = "zigpy";
|
||||||
version = "0.60.2";
|
version = "0.62.3";
|
||||||
format = "pyproject";
|
pyproject = true;
|
||||||
|
|
||||||
disabled = pythonOlder "3.8";
|
disabled = pythonOlder "3.8";
|
||||||
|
|
||||||
|
@ -27,7 +27,7 @@ buildPythonPackage rec {
|
||||||
owner = "zigpy";
|
owner = "zigpy";
|
||||||
repo = "zigpy";
|
repo = "zigpy";
|
||||||
rev = "refs/tags/${version}";
|
rev = "refs/tags/${version}";
|
||||||
hash = "sha256-3hYgb2uvyFQmtfdVKBorGhTgVt/Dq1roXTu7xvE7SHY=";
|
hash = "sha256-LMcyYDUH/jGrDW8sjrT9kHdIWQ20fOOcOJRhUpKMGi8=";
|
||||||
};
|
};
|
||||||
|
|
||||||
postPatch = ''
|
postPatch = ''
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
# Do not edit!
|
# Do not edit!
|
||||||
|
|
||||||
{
|
{
|
||||||
version = "2024.1.6";
|
version = "2024.2.1";
|
||||||
components = {
|
components = {
|
||||||
"3_day_blinds" = ps: with ps; [
|
"3_day_blinds" = ps: with ps; [
|
||||||
];
|
];
|
||||||
|
@ -94,6 +94,8 @@
|
||||||
"airtouch4" = ps: with ps; [
|
"airtouch4" = ps: with ps; [
|
||||||
airtouch4pyapi
|
airtouch4pyapi
|
||||||
];
|
];
|
||||||
|
"airtouch5" = ps: with ps; [
|
||||||
|
]; # missing inputs: airtouch5py
|
||||||
"airvisual" = ps: with ps; [
|
"airvisual" = ps: with ps; [
|
||||||
pyairvisual
|
pyairvisual
|
||||||
];
|
];
|
||||||
|
@ -157,6 +159,8 @@
|
||||||
psutil-home-assistant
|
psutil-home-assistant
|
||||||
sqlalchemy
|
sqlalchemy
|
||||||
];
|
];
|
||||||
|
"analytics_insights" = ps: with ps; [
|
||||||
|
]; # missing inputs: python-homeassistant-analytics
|
||||||
"android_ip_webcam" = ps: with ps; [
|
"android_ip_webcam" = ps: with ps; [
|
||||||
pydroid-ipcam
|
pydroid-ipcam
|
||||||
];
|
];
|
||||||
|
@ -383,6 +387,8 @@
|
||||||
"balboa" = ps: with ps; [
|
"balboa" = ps: with ps; [
|
||||||
pybalboa
|
pybalboa
|
||||||
];
|
];
|
||||||
|
"bang_olufsen" = ps: with ps; [
|
||||||
|
]; # missing inputs: mozart-api
|
||||||
"bayesian" = ps: with ps; [
|
"bayesian" = ps: with ps; [
|
||||||
];
|
];
|
||||||
"bbox" = ps: with ps; [
|
"bbox" = ps: with ps; [
|
||||||
|
@ -561,6 +567,8 @@
|
||||||
];
|
];
|
||||||
"brel_home" = ps: with ps; [
|
"brel_home" = ps: with ps; [
|
||||||
];
|
];
|
||||||
|
"bring" = ps: with ps; [
|
||||||
|
]; # missing inputs: python-bring-api
|
||||||
"broadlink" = ps: with ps; [
|
"broadlink" = ps: with ps; [
|
||||||
broadlink
|
broadlink
|
||||||
];
|
];
|
||||||
|
@ -680,9 +688,6 @@
|
||||||
"cisco_mobility_express" = ps: with ps; [
|
"cisco_mobility_express" = ps: with ps; [
|
||||||
ciscomobilityexpress
|
ciscomobilityexpress
|
||||||
];
|
];
|
||||||
"cisco_webex_teams" = ps: with ps; [
|
|
||||||
webexteamssdk
|
|
||||||
];
|
|
||||||
"citybikes" = ps: with ps; [
|
"citybikes" = ps: with ps; [
|
||||||
];
|
];
|
||||||
"clementine" = ps: with ps; [
|
"clementine" = ps: with ps; [
|
||||||
|
@ -719,6 +724,8 @@
|
||||||
"co2signal" = ps: with ps; [
|
"co2signal" = ps: with ps; [
|
||||||
aioelectricitymaps
|
aioelectricitymaps
|
||||||
];
|
];
|
||||||
|
"coautilities" = ps: with ps; [
|
||||||
|
];
|
||||||
"coinbase" = ps: with ps; [
|
"coinbase" = ps: with ps; [
|
||||||
]; # missing inputs: coinbase
|
]; # missing inputs: coinbase
|
||||||
"color_extractor" = ps: with ps; [
|
"color_extractor" = ps: with ps; [
|
||||||
|
@ -1115,6 +1122,7 @@
|
||||||
pyeconet
|
pyeconet
|
||||||
];
|
];
|
||||||
"ecovacs" = ps: with ps; [
|
"ecovacs" = ps: with ps; [
|
||||||
|
deebot-client
|
||||||
]; # missing inputs: py-sucks
|
]; # missing inputs: py-sucks
|
||||||
"ecowitt" = ps: with ps; [
|
"ecowitt" = ps: with ps; [
|
||||||
aioecowitt
|
aioecowitt
|
||||||
|
@ -1170,6 +1178,11 @@
|
||||||
"elv" = ps: with ps; [
|
"elv" = ps: with ps; [
|
||||||
pypca
|
pypca
|
||||||
];
|
];
|
||||||
|
"elvia" = ps: with ps; [
|
||||||
|
fnv-hash-fast
|
||||||
|
psutil-home-assistant
|
||||||
|
sqlalchemy
|
||||||
|
]; # missing inputs: elvia
|
||||||
"emby" = ps: with ps; [
|
"emby" = ps: with ps; [
|
||||||
pyemby
|
pyemby
|
||||||
];
|
];
|
||||||
|
@ -1238,6 +1251,9 @@
|
||||||
"ephember" = ps: with ps; [
|
"ephember" = ps: with ps; [
|
||||||
pyephember
|
pyephember
|
||||||
];
|
];
|
||||||
|
"epion" = ps: with ps; [
|
||||||
|
epion
|
||||||
|
];
|
||||||
"epson" = ps: with ps; [
|
"epson" = ps: with ps; [
|
||||||
epson-projector
|
epson-projector
|
||||||
];
|
];
|
||||||
|
@ -1332,8 +1348,6 @@
|
||||||
];
|
];
|
||||||
"facebook" = ps: with ps; [
|
"facebook" = ps: with ps; [
|
||||||
];
|
];
|
||||||
"facebox" = ps: with ps; [
|
|
||||||
];
|
|
||||||
"fail2ban" = ps: with ps; [
|
"fail2ban" = ps: with ps; [
|
||||||
];
|
];
|
||||||
"familyhub" = ps: with ps; [
|
"familyhub" = ps: with ps; [
|
||||||
|
@ -1787,6 +1801,15 @@
|
||||||
webrtc-noise-gain
|
webrtc-noise-gain
|
||||||
zeroconf
|
zeroconf
|
||||||
];
|
];
|
||||||
|
"govee_light_local" = ps: with ps; [
|
||||||
|
aiohttp-cors
|
||||||
|
aiohttp-fast-url-dispatcher
|
||||||
|
aiohttp-zlib-ng
|
||||||
|
fnv-hash-fast
|
||||||
|
ifaddr
|
||||||
|
psutil-home-assistant
|
||||||
|
sqlalchemy
|
||||||
|
]; # missing inputs: govee-local-api
|
||||||
"gpsd" = ps: with ps; [
|
"gpsd" = ps: with ps; [
|
||||||
gps3
|
gps3
|
||||||
];
|
];
|
||||||
|
@ -1898,6 +1921,8 @@
|
||||||
"hive" = ps: with ps; [
|
"hive" = ps: with ps; [
|
||||||
pyhiveapi
|
pyhiveapi
|
||||||
];
|
];
|
||||||
|
"hko" = ps: with ps; [
|
||||||
|
]; # missing inputs: hko
|
||||||
"hlk_sw16" = ps: with ps; [
|
"hlk_sw16" = ps: with ps; [
|
||||||
hlk-sw16
|
hlk-sw16
|
||||||
];
|
];
|
||||||
|
@ -1915,10 +1940,6 @@
|
||||||
sqlalchemy
|
sqlalchemy
|
||||||
];
|
];
|
||||||
"home_plus_control" = ps: with ps; [
|
"home_plus_control" = ps: with ps; [
|
||||||
aiohttp-cors
|
|
||||||
aiohttp-fast-url-dispatcher
|
|
||||||
aiohttp-zlib-ng
|
|
||||||
homepluscontrol
|
|
||||||
];
|
];
|
||||||
"homeassistant" = ps: with ps; [
|
"homeassistant" = ps: with ps; [
|
||||||
];
|
];
|
||||||
|
@ -2108,6 +2129,9 @@
|
||||||
];
|
];
|
||||||
"hurrican_shutters_wholesale" = ps: with ps; [
|
"hurrican_shutters_wholesale" = ps: with ps; [
|
||||||
];
|
];
|
||||||
|
"huum" = ps: with ps; [
|
||||||
|
huum
|
||||||
|
];
|
||||||
"hvv_departures" = ps: with ps; [
|
"hvv_departures" = ps: with ps; [
|
||||||
pygti
|
pygti
|
||||||
];
|
];
|
||||||
|
@ -2542,6 +2566,9 @@
|
||||||
];
|
];
|
||||||
"lacrosse_view" = ps: with ps; [
|
"lacrosse_view" = ps: with ps; [
|
||||||
]; # missing inputs: lacrosse-view
|
]; # missing inputs: lacrosse-view
|
||||||
|
"lamarzocco" = ps: with ps; [
|
||||||
|
lmcloud
|
||||||
|
];
|
||||||
"lametric" = ps: with ps; [
|
"lametric" = ps: with ps; [
|
||||||
aiohttp-cors
|
aiohttp-cors
|
||||||
aiohttp-fast-url-dispatcher
|
aiohttp-fast-url-dispatcher
|
||||||
|
@ -2608,6 +2635,35 @@
|
||||||
webrtc-noise-gain
|
webrtc-noise-gain
|
||||||
zeroconf
|
zeroconf
|
||||||
];
|
];
|
||||||
|
"leaone" = ps: with ps; [
|
||||||
|
aioesphomeapi
|
||||||
|
aiohttp-cors
|
||||||
|
aiohttp-fast-url-dispatcher
|
||||||
|
aiohttp-zlib-ng
|
||||||
|
aioruuvigateway
|
||||||
|
aioshelly
|
||||||
|
bleak
|
||||||
|
bleak-esphome
|
||||||
|
bleak-retry-connector
|
||||||
|
bluetooth-adapters
|
||||||
|
bluetooth-auto-recovery
|
||||||
|
bluetooth-data-tools
|
||||||
|
dbus-fast
|
||||||
|
esphome-dashboard-api
|
||||||
|
fnv-hash-fast
|
||||||
|
ha-ffmpeg
|
||||||
|
habluetooth
|
||||||
|
hassil
|
||||||
|
home-assistant-intents
|
||||||
|
ifaddr
|
||||||
|
mutagen
|
||||||
|
psutil-home-assistant
|
||||||
|
pyserial
|
||||||
|
pyudev
|
||||||
|
sqlalchemy
|
||||||
|
webrtc-noise-gain
|
||||||
|
zeroconf
|
||||||
|
]; # missing inputs: leaone-ble
|
||||||
"led_ble" = ps: with ps; [
|
"led_ble" = ps: with ps; [
|
||||||
aioesphomeapi
|
aioesphomeapi
|
||||||
aiohttp-cors
|
aiohttp-cors
|
||||||
|
@ -2650,7 +2706,6 @@
|
||||||
aiopyarr
|
aiopyarr
|
||||||
];
|
];
|
||||||
"life360" = ps: with ps; [
|
"life360" = ps: with ps; [
|
||||||
life360
|
|
||||||
];
|
];
|
||||||
"lifx" = ps: with ps; [
|
"lifx" = ps: with ps; [
|
||||||
aiohttp-cors
|
aiohttp-cors
|
||||||
|
@ -2962,9 +3017,6 @@
|
||||||
"meteoclimatic" = ps: with ps; [
|
"meteoclimatic" = ps: with ps; [
|
||||||
pymeteoclimatic
|
pymeteoclimatic
|
||||||
];
|
];
|
||||||
"metoffice" = ps: with ps; [
|
|
||||||
datapoint
|
|
||||||
];
|
|
||||||
"mfi" = ps: with ps; [
|
"mfi" = ps: with ps; [
|
||||||
]; # missing inputs: mficlient
|
]; # missing inputs: mficlient
|
||||||
"microsoft" = ps: with ps; [
|
"microsoft" = ps: with ps; [
|
||||||
|
@ -3211,6 +3263,14 @@
|
||||||
"mythicbeastsdns" = ps: with ps; [
|
"mythicbeastsdns" = ps: with ps; [
|
||||||
mbddns
|
mbddns
|
||||||
];
|
];
|
||||||
|
"myuplink" = ps: with ps; [
|
||||||
|
aiohttp-cors
|
||||||
|
aiohttp-fast-url-dispatcher
|
||||||
|
aiohttp-zlib-ng
|
||||||
|
fnv-hash-fast
|
||||||
|
psutil-home-assistant
|
||||||
|
sqlalchemy
|
||||||
|
]; # missing inputs: myuplink
|
||||||
"nad" = ps: with ps; [
|
"nad" = ps: with ps; [
|
||||||
nad-receiver
|
nad-receiver
|
||||||
];
|
];
|
||||||
|
@ -3884,6 +3944,17 @@
|
||||||
"qwikswitch" = ps: with ps; [
|
"qwikswitch" = ps: with ps; [
|
||||||
pyqwikswitch
|
pyqwikswitch
|
||||||
];
|
];
|
||||||
|
"rabbitair" = ps: with ps; [
|
||||||
|
aiohttp-cors
|
||||||
|
aiohttp-fast-url-dispatcher
|
||||||
|
aiohttp-zlib-ng
|
||||||
|
fnv-hash-fast
|
||||||
|
ifaddr
|
||||||
|
psutil-home-assistant
|
||||||
|
python-rabbitair
|
||||||
|
sqlalchemy
|
||||||
|
zeroconf
|
||||||
|
];
|
||||||
"rachio" = ps: with ps; [
|
"rachio" = ps: with ps; [
|
||||||
aiohttp-cors
|
aiohttp-cors
|
||||||
aiohttp-fast-url-dispatcher
|
aiohttp-fast-url-dispatcher
|
||||||
|
@ -3920,6 +3991,16 @@
|
||||||
aioeagle
|
aioeagle
|
||||||
eagle100
|
eagle100
|
||||||
];
|
];
|
||||||
|
"rainforest_raven" = ps: with ps; [
|
||||||
|
aiohttp-cors
|
||||||
|
aiohttp-fast-url-dispatcher
|
||||||
|
aiohttp-zlib-ng
|
||||||
|
fnv-hash-fast
|
||||||
|
psutil-home-assistant
|
||||||
|
pyserial
|
||||||
|
pyudev
|
||||||
|
sqlalchemy
|
||||||
|
]; # missing inputs: aioraven
|
||||||
"rainmachine" = ps: with ps; [
|
"rainmachine" = ps: with ps; [
|
||||||
regenmaschine
|
regenmaschine
|
||||||
];
|
];
|
||||||
|
@ -4079,6 +4160,8 @@
|
||||||
"roku" = ps: with ps; [
|
"roku" = ps: with ps; [
|
||||||
rokuecp
|
rokuecp
|
||||||
];
|
];
|
||||||
|
"romy" = ps: with ps; [
|
||||||
|
]; # missing inputs: romy
|
||||||
"roomba" = ps: with ps; [
|
"roomba" = ps: with ps; [
|
||||||
roombapy
|
roombapy
|
||||||
];
|
];
|
||||||
|
@ -4826,8 +4909,7 @@
|
||||||
tank-utility
|
tank-utility
|
||||||
];
|
];
|
||||||
"tankerkoenig" = ps: with ps; [
|
"tankerkoenig" = ps: with ps; [
|
||||||
pytankerkoenig
|
]; # missing inputs: aiotankerkoenig
|
||||||
];
|
|
||||||
"tapsaff" = ps: with ps; [
|
"tapsaff" = ps: with ps; [
|
||||||
]; # missing inputs: tapsaff
|
]; # missing inputs: tapsaff
|
||||||
"tasmota" = ps: with ps; [
|
"tasmota" = ps: with ps; [
|
||||||
|
@ -4843,9 +4925,17 @@
|
||||||
];
|
];
|
||||||
"tcp" = ps: with ps; [
|
"tcp" = ps: with ps; [
|
||||||
];
|
];
|
||||||
|
"technove" = ps: with ps; [
|
||||||
|
]; # missing inputs: python-technove
|
||||||
"ted5000" = ps: with ps; [
|
"ted5000" = ps: with ps; [
|
||||||
xmltodict
|
xmltodict
|
||||||
];
|
];
|
||||||
|
"tedee" = ps: with ps; [
|
||||||
|
aiohttp-cors
|
||||||
|
aiohttp-fast-url-dispatcher
|
||||||
|
aiohttp-zlib-ng
|
||||||
|
pytedee-async
|
||||||
|
];
|
||||||
"telegram" = ps: with ps; [
|
"telegram" = ps: with ps; [
|
||||||
aiohttp-cors
|
aiohttp-cors
|
||||||
aiohttp-fast-url-dispatcher
|
aiohttp-fast-url-dispatcher
|
||||||
|
@ -4881,6 +4971,9 @@
|
||||||
"tesla_wall_connector" = ps: with ps; [
|
"tesla_wall_connector" = ps: with ps; [
|
||||||
tesla-wall-connector
|
tesla-wall-connector
|
||||||
];
|
];
|
||||||
|
"teslemetry" = ps: with ps; [
|
||||||
|
tesla-fleet-api
|
||||||
|
];
|
||||||
"tessie" = ps: with ps; [
|
"tessie" = ps: with ps; [
|
||||||
]; # missing inputs: tessie-api
|
]; # missing inputs: tessie-api
|
||||||
"text" = ps: with ps; [
|
"text" = ps: with ps; [
|
||||||
|
@ -5085,6 +5178,8 @@
|
||||||
"tplink_omada" = ps: with ps; [
|
"tplink_omada" = ps: with ps; [
|
||||||
tplink-omada-client
|
tplink-omada-client
|
||||||
];
|
];
|
||||||
|
"tplink_tapo" = ps: with ps; [
|
||||||
|
];
|
||||||
"traccar" = ps: with ps; [
|
"traccar" = ps: with ps; [
|
||||||
aiohttp-cors
|
aiohttp-cors
|
||||||
aiohttp-fast-url-dispatcher
|
aiohttp-fast-url-dispatcher
|
||||||
|
@ -5092,6 +5187,9 @@
|
||||||
pytraccar
|
pytraccar
|
||||||
stringcase
|
stringcase
|
||||||
];
|
];
|
||||||
|
"traccar_server" = ps: with ps; [
|
||||||
|
pytraccar
|
||||||
|
];
|
||||||
"trace" = ps: with ps; [
|
"trace" = ps: with ps; [
|
||||||
];
|
];
|
||||||
"tractive" = ps: with ps; [
|
"tractive" = ps: with ps; [
|
||||||
|
@ -5133,8 +5231,7 @@
|
||||||
];
|
];
|
||||||
"tuya" = ps: with ps; [
|
"tuya" = ps: with ps; [
|
||||||
ha-ffmpeg
|
ha-ffmpeg
|
||||||
tuya-iot-py-sdk
|
]; # missing inputs: tuya-device-sharing-sdk
|
||||||
];
|
|
||||||
"twentemilieu" = ps: with ps; [
|
"twentemilieu" = ps: with ps; [
|
||||||
twentemilieu
|
twentemilieu
|
||||||
];
|
];
|
||||||
|
@ -5891,6 +5988,7 @@
|
||||||
"enocean"
|
"enocean"
|
||||||
"enphase_envoy"
|
"enphase_envoy"
|
||||||
"environment_canada"
|
"environment_canada"
|
||||||
|
"epion"
|
||||||
"epson"
|
"epson"
|
||||||
"escea"
|
"escea"
|
||||||
"esphome"
|
"esphome"
|
||||||
|
@ -5901,7 +5999,6 @@
|
||||||
"ezviz"
|
"ezviz"
|
||||||
"faa_delays"
|
"faa_delays"
|
||||||
"facebook"
|
"facebook"
|
||||||
"facebox"
|
|
||||||
"fail2ban"
|
"fail2ban"
|
||||||
"fan"
|
"fan"
|
||||||
"feedreader"
|
"feedreader"
|
||||||
|
@ -5972,6 +6069,7 @@
|
||||||
"google_travel_time"
|
"google_travel_time"
|
||||||
"google_wifi"
|
"google_wifi"
|
||||||
"govee_ble"
|
"govee_ble"
|
||||||
|
"gpsd"
|
||||||
"gpslogger"
|
"gpslogger"
|
||||||
"graphite"
|
"graphite"
|
||||||
"gree"
|
"gree"
|
||||||
|
@ -5995,7 +6093,6 @@
|
||||||
"hlk_sw16"
|
"hlk_sw16"
|
||||||
"holiday"
|
"holiday"
|
||||||
"home_connect"
|
"home_connect"
|
||||||
"home_plus_control"
|
|
||||||
"homeassistant"
|
"homeassistant"
|
||||||
"homeassistant_alerts"
|
"homeassistant_alerts"
|
||||||
"homeassistant_green"
|
"homeassistant_green"
|
||||||
|
@ -6015,6 +6112,7 @@
|
||||||
"huisbaasje"
|
"huisbaasje"
|
||||||
"humidifier"
|
"humidifier"
|
||||||
"hunterdouglas_powerview"
|
"hunterdouglas_powerview"
|
||||||
|
"huum"
|
||||||
"hvv_departures"
|
"hvv_departures"
|
||||||
"hydrawise"
|
"hydrawise"
|
||||||
"hyperion"
|
"hyperion"
|
||||||
|
@ -6065,6 +6163,7 @@
|
||||||
"kostal_plenticore"
|
"kostal_plenticore"
|
||||||
"kraken"
|
"kraken"
|
||||||
"kulersky"
|
"kulersky"
|
||||||
|
"lamarzocco"
|
||||||
"lametric"
|
"lametric"
|
||||||
"landisgyr_heat_meter"
|
"landisgyr_heat_meter"
|
||||||
"lastfm"
|
"lastfm"
|
||||||
|
@ -6096,6 +6195,8 @@
|
||||||
"loqed"
|
"loqed"
|
||||||
"lovelace"
|
"lovelace"
|
||||||
"luftdaten"
|
"luftdaten"
|
||||||
|
"lupusec"
|
||||||
|
"lutron"
|
||||||
"lutron_caseta"
|
"lutron_caseta"
|
||||||
"lyric"
|
"lyric"
|
||||||
"mailbox"
|
"mailbox"
|
||||||
|
@ -6116,7 +6217,6 @@
|
||||||
"met_eireann"
|
"met_eireann"
|
||||||
"meteo_france"
|
"meteo_france"
|
||||||
"meteoclimatic"
|
"meteoclimatic"
|
||||||
"metoffice"
|
|
||||||
"microsoft_face"
|
"microsoft_face"
|
||||||
"microsoft_face_detect"
|
"microsoft_face_detect"
|
||||||
"microsoft_face_identify"
|
"microsoft_face_identify"
|
||||||
|
@ -6244,6 +6344,7 @@
|
||||||
"qnap"
|
"qnap"
|
||||||
"qnap_qsw"
|
"qnap_qsw"
|
||||||
"qwikswitch"
|
"qwikswitch"
|
||||||
|
"rabbitair"
|
||||||
"rachio"
|
"rachio"
|
||||||
"radarr"
|
"radarr"
|
||||||
"radio_browser"
|
"radio_browser"
|
||||||
|
@ -6382,16 +6483,17 @@
|
||||||
"tag"
|
"tag"
|
||||||
"tailscale"
|
"tailscale"
|
||||||
"tailwind"
|
"tailwind"
|
||||||
"tankerkoenig"
|
|
||||||
"tasmota"
|
"tasmota"
|
||||||
"tautulli"
|
"tautulli"
|
||||||
"tcp"
|
"tcp"
|
||||||
|
"tedee"
|
||||||
"telegram"
|
"telegram"
|
||||||
"telegram_bot"
|
"telegram_bot"
|
||||||
"tellduslive"
|
"tellduslive"
|
||||||
"temper"
|
"temper"
|
||||||
"template"
|
"template"
|
||||||
"tesla_wall_connector"
|
"tesla_wall_connector"
|
||||||
|
"teslemetry"
|
||||||
"text"
|
"text"
|
||||||
"thermobeacon"
|
"thermobeacon"
|
||||||
"thermopro"
|
"thermopro"
|
||||||
|
@ -6414,6 +6516,7 @@
|
||||||
"tplink"
|
"tplink"
|
||||||
"tplink_omada"
|
"tplink_omada"
|
||||||
"traccar"
|
"traccar"
|
||||||
|
"traccar_server"
|
||||||
"trace"
|
"trace"
|
||||||
"tractive"
|
"tractive"
|
||||||
"tradfri"
|
"tradfri"
|
||||||
|
@ -6425,7 +6528,6 @@
|
||||||
"transport_nsw"
|
"transport_nsw"
|
||||||
"trend"
|
"trend"
|
||||||
"tts"
|
"tts"
|
||||||
"tuya"
|
|
||||||
"twentemilieu"
|
"twentemilieu"
|
||||||
"twilio"
|
"twilio"
|
||||||
"twinkly"
|
"twinkly"
|
||||||
|
|
|
@ -90,7 +90,7 @@ let
|
||||||
hash = "sha256-YmJH4brWkTpgzyHwu9UnIWrY5qlDCmMtvF+KxQFXwfk=";
|
hash = "sha256-YmJH4brWkTpgzyHwu9UnIWrY5qlDCmMtvF+KxQFXwfk=";
|
||||||
};
|
};
|
||||||
postPatch = ''
|
postPatch = ''
|
||||||
substituteInPlace pyproject.toml --replace \
|
substituteInPlace pyproject.toml --replace-fail \
|
||||||
'"setuptools >= 35.0.2", "wheel >= 0.29.0", "poetry>=0.12"' \
|
'"setuptools >= 35.0.2", "wheel >= 0.29.0", "poetry>=0.12"' \
|
||||||
'"poetry-core"'
|
'"poetry-core"'
|
||||||
'';
|
'';
|
||||||
|
@ -125,21 +125,12 @@ let
|
||||||
hash = "sha256-tWnxGLJT+CRFvkhxFamHxnLXBvoR8tfOvzH1o1i5JJg=";
|
hash = "sha256-tWnxGLJT+CRFvkhxFamHxnLXBvoR8tfOvzH1o1i5JJg=";
|
||||||
};
|
};
|
||||||
postPatch = ''
|
postPatch = ''
|
||||||
substituteInPlace pyproject.toml --replace \
|
substituteInPlace pyproject.toml --replace-fail \
|
||||||
'"setuptools >= 35.0.2", "wheel >= 0.29.0", "poetry>=0.12"' \
|
'"setuptools >= 35.0.2", "wheel >= 0.29.0", "poetry>=0.12"' \
|
||||||
'"poetry-core"'
|
'"poetry-core"'
|
||||||
'';
|
'';
|
||||||
});
|
});
|
||||||
|
|
||||||
amberelectric = super.amberelectric.overridePythonAttrs (oldAttrs: rec {
|
|
||||||
version = "1.0.4";
|
|
||||||
src = fetchPypi {
|
|
||||||
inherit (oldAttrs) pname;
|
|
||||||
inherit version;
|
|
||||||
hash = "sha256-5SWJnTxRm6mzP0RxrgA+jnV+Gp23WjqQA57wbT2V9Dk=";
|
|
||||||
};
|
|
||||||
});
|
|
||||||
|
|
||||||
anova-wifi = super.anova-wifi.overridePythonAttrs (old: rec {
|
anova-wifi = super.anova-wifi.overridePythonAttrs (old: rec {
|
||||||
version = "0.10.3";
|
version = "0.10.3";
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
|
@ -159,8 +150,8 @@ let
|
||||||
};
|
};
|
||||||
postPatch = ''
|
postPatch = ''
|
||||||
substituteInPlace pyproject.toml \
|
substituteInPlace pyproject.toml \
|
||||||
--replace "poetry>=1.0.0b1" "poetry-core" \
|
--replace-fail "poetry>=1.0.0b1" "poetry-core" \
|
||||||
--replace "poetry.masonry" "poetry.core.masonry"
|
--replace-fail "poetry.masonry" "poetry.core.masonry"
|
||||||
'';
|
'';
|
||||||
propagatedBuildInputs = oldAttrs.propagatedBuildInputs ++ [
|
propagatedBuildInputs = oldAttrs.propagatedBuildInputs ++ [
|
||||||
self.pytz
|
self.pytz
|
||||||
|
@ -216,14 +207,25 @@ let
|
||||||
};
|
};
|
||||||
});
|
});
|
||||||
|
|
||||||
justnimbus = super.justnimbus.overridePythonAttrs (oldAttrs: rec {
|
lxml = super.lxml.overridePythonAttrs (oldAttrs: rec {
|
||||||
version = "0.6.0";
|
version = "5.1.0";
|
||||||
|
pyprojet = true;
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "kvanzuijlen";
|
owner = "lxml";
|
||||||
repo = "justnimbus";
|
repo = "lxml";
|
||||||
rev = "refs/tags/${version}";
|
rev = "refs/tags/lxml-${version}";
|
||||||
hash = "sha256-uQ5Nc5sxqHeAuavyfX4Q6Umsd54aileJjFwOOU6X7Yg=";
|
hash = "sha256-eWLYzZWatYDmhuBTZynsdytlNFKKmtWQ1XIyzVD8sDY=";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
nativeBuildInputs = with self; [
|
||||||
|
cython_3
|
||||||
|
setuptools
|
||||||
|
libxml2.dev
|
||||||
|
libxslt.dev
|
||||||
|
];
|
||||||
|
|
||||||
|
patches = [];
|
||||||
});
|
});
|
||||||
|
|
||||||
notifications-android-tv = super.notifications-android-tv.overridePythonAttrs (oldAttrs: rec {
|
notifications-android-tv = super.notifications-android-tv.overridePythonAttrs (oldAttrs: rec {
|
||||||
|
@ -321,16 +323,6 @@ let
|
||||||
};
|
};
|
||||||
});
|
});
|
||||||
|
|
||||||
pydrawise = super.pydrawise.overridePythonAttrs (oldAttrs: rec {
|
|
||||||
version = "2023.11.0";
|
|
||||||
src = fetchFromGitHub {
|
|
||||||
owner = "dknowles2";
|
|
||||||
repo = "pydrawise";
|
|
||||||
rev = "refs/tags/${version}";
|
|
||||||
hash = "sha256-gKOyTvdETGzKlpU67UKaHYTIvnAX9znHIynP3BiVbt4=";
|
|
||||||
};
|
|
||||||
});
|
|
||||||
|
|
||||||
pykaleidescape = super.pykaleidescape.overridePythonAttrs (oldAttrs: rec {
|
pykaleidescape = super.pykaleidescape.overridePythonAttrs (oldAttrs: rec {
|
||||||
version = "1.0.1";
|
version = "1.0.1";
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
|
@ -350,35 +342,6 @@ let
|
||||||
};
|
};
|
||||||
});
|
});
|
||||||
|
|
||||||
python-kasa = super.python-kasa.overridePythonAttrs (oldAttrs: rec {
|
|
||||||
version = "0.5.4";
|
|
||||||
src = fetchFromGitHub {
|
|
||||||
owner = "python-kasa";
|
|
||||||
repo = "python-kasa";
|
|
||||||
rev = "refs/tags/${version}";
|
|
||||||
hash = "sha256-wGPMrYaTtKkkNW88eyiiciFcBSTRqqChYi6e15WUCHo=";
|
|
||||||
};
|
|
||||||
});
|
|
||||||
|
|
||||||
python-roborock = super.python-roborock.overridePythonAttrs (oldAttrs: rec {
|
|
||||||
version = "0.38.0";
|
|
||||||
src = fetchFromGitHub {
|
|
||||||
owner = "humbertogontijo";
|
|
||||||
repo = "python-roborock";
|
|
||||||
rev = "refs/tags/v${version}";
|
|
||||||
hash = "sha256-jYESUMhLb5oiM3PWIIIU4dn/waGUnCAaXe0URnIq0C8=";
|
|
||||||
};
|
|
||||||
});
|
|
||||||
|
|
||||||
python-slugify = super.python-slugify.overridePythonAttrs (oldAttrs: rec {
|
|
||||||
pname = "python-slugify";
|
|
||||||
version = "4.0.1";
|
|
||||||
src = fetchPypi {
|
|
||||||
inherit pname version;
|
|
||||||
hash = "sha256-aaUXdm4AwSaOW7/A0BCgqFCN4LGNMK1aH/NX+K5yQnA=";
|
|
||||||
};
|
|
||||||
});
|
|
||||||
|
|
||||||
pytradfri = super.pytradfri.overridePythonAttrs (oldAttrs: rec {
|
pytradfri = super.pytradfri.overridePythonAttrs (oldAttrs: rec {
|
||||||
version = "9.0.1";
|
version = "9.0.1";
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
|
@ -389,16 +352,6 @@ let
|
||||||
};
|
};
|
||||||
});
|
});
|
||||||
|
|
||||||
tesla-powerwall = super.tesla-powerwall.overridePythonAttrs (oldAttrs: rec {
|
|
||||||
version = "0.3.19";
|
|
||||||
src = fetchFromGitHub {
|
|
||||||
owner = "jrester";
|
|
||||||
repo = "tesla_powerwall";
|
|
||||||
rev = "refs/tags/v${version}";
|
|
||||||
hash = "sha256-ClrMgPAMBtDMfD6hCJIN1u4mp75QW+c3re28v3FreQg=";
|
|
||||||
};
|
|
||||||
});
|
|
||||||
|
|
||||||
versioningit = super.versioningit.overridePythonAttrs (oldAttrs: rec {
|
versioningit = super.versioningit.overridePythonAttrs (oldAttrs: rec {
|
||||||
version = "2.2.0";
|
version = "2.2.0";
|
||||||
src = fetchPypi {
|
src = fetchPypi {
|
||||||
|
@ -483,7 +436,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 = "2024.1.6";
|
hassVersion = "2024.2.1";
|
||||||
|
|
||||||
in python.pkgs.buildPythonApplication rec {
|
in python.pkgs.buildPythonApplication rec {
|
||||||
pname = "homeassistant";
|
pname = "homeassistant";
|
||||||
|
@ -501,13 +454,13 @@ 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-zCpdOl16ZkO9mr0nYZg1mlnGNaPaX0RALFEDRHGfKvM=";
|
hash = "sha256-PtBDSxl0744rytMeMOTAj60eERzANzD2dyd4sPivgqQ=";
|
||||||
};
|
};
|
||||||
|
|
||||||
# Secondary source is pypi sdist for translations
|
# Secondary source is pypi sdist for translations
|
||||||
sdist = fetchPypi {
|
sdist = fetchPypi {
|
||||||
inherit pname version;
|
inherit pname version;
|
||||||
hash = "sha256-ipAw+vqePa5KA/Gqhl3WsQbzmzMXjmVx0NvbrM84SKg=";
|
hash = "sha256-iLCHoDfZ1gz+LxNxIiKNsSDaL2Taq8B3Huu000eXSxc=";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = with python.pkgs; [
|
nativeBuildInputs = with python.pkgs; [
|
||||||
|
@ -516,19 +469,12 @@ in python.pkgs.buildPythonApplication rec {
|
||||||
];
|
];
|
||||||
|
|
||||||
pythonRelaxDeps = [
|
pythonRelaxDeps = [
|
||||||
"awesomeversion"
|
"attrs"
|
||||||
"ciso8601"
|
"ciso8601"
|
||||||
"cryptography"
|
|
||||||
"home-assistant-bluetooth"
|
|
||||||
"httpx"
|
|
||||||
"jinja2"
|
|
||||||
"lru-dict"
|
|
||||||
"orjson"
|
"orjson"
|
||||||
"pyopenssl"
|
"pyopenssl"
|
||||||
"typing-extensions"
|
"typing-extensions"
|
||||||
"urllib3"
|
"urllib3"
|
||||||
"voluptuous"
|
|
||||||
"yarl"
|
|
||||||
];
|
];
|
||||||
|
|
||||||
# extract translations from pypi sdist
|
# extract translations from pypi sdist
|
||||||
|
@ -539,7 +485,7 @@ in python.pkgs.buildPythonApplication rec {
|
||||||
# leave this in, so users don't have to constantly update their downstream patch handling
|
# leave this in, so users don't have to constantly update their downstream patch handling
|
||||||
patches = [
|
patches = [
|
||||||
# Follow symlinks in /var/lib/hass/www
|
# Follow symlinks in /var/lib/hass/www
|
||||||
./patches/static-symlinks.patch
|
./patches/static-follow-symlinks.patch
|
||||||
|
|
||||||
# Patch path to ffmpeg binary
|
# Patch path to ffmpeg binary
|
||||||
(substituteAll {
|
(substituteAll {
|
||||||
|
@ -549,7 +495,7 @@ in python.pkgs.buildPythonApplication rec {
|
||||||
];
|
];
|
||||||
|
|
||||||
postPatch = ''
|
postPatch = ''
|
||||||
substituteInPlace tests/test_config.py --replace '"/usr"' '"/build/media"'
|
substituteInPlace tests/test_config.py --replace-fail '"/usr"' '"/build/media"'
|
||||||
|
|
||||||
sed -i 's/setuptools[~=]/setuptools>/' pyproject.toml
|
sed -i 's/setuptools[~=]/setuptools>/' pyproject.toml
|
||||||
sed -i 's/wheel[~=]/wheel>/' pyproject.toml
|
sed -i 's/wheel[~=]/wheel>/' pyproject.toml
|
||||||
|
|
|
@ -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 = "20240104.0";
|
version = "20240207.1";
|
||||||
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-AQkrnU5UKsrl02CXDNf/aMTPII39poWJoZ4nBpySTZE=";
|
hash = "sha256-uGBVha7nJvYua1rZXlIJGhUzEm5wSrhazrOBUi3omJk=";
|
||||||
};
|
};
|
||||||
|
|
||||||
# there is nothing to strip in this package
|
# there is nothing to strip in this package
|
||||||
|
|
|
@ -1,73 +1,41 @@
|
||||||
{ lib
|
{ lib
|
||||||
, buildPythonPackage
|
, buildPythonPackage
|
||||||
, fetchFromGitHub
|
, fetchPypi
|
||||||
, pythonOlder
|
, pythonOlder
|
||||||
|
|
||||||
# build
|
# build-system
|
||||||
, hassil
|
|
||||||
, jinja2
|
|
||||||
, pyyaml
|
|
||||||
, regex
|
|
||||||
, voluptuous
|
|
||||||
, python
|
|
||||||
, setuptools
|
, setuptools
|
||||||
, wheel
|
|
||||||
|
|
||||||
# tests
|
|
||||||
, pytest-xdist
|
|
||||||
, pytestCheckHook
|
|
||||||
}:
|
}:
|
||||||
|
|
||||||
buildPythonPackage rec {
|
buildPythonPackage rec {
|
||||||
pname = "home-assistant-intents";
|
pname = "home-assistant-intents";
|
||||||
version = "2024.1.2";
|
version = "2024.2.2";
|
||||||
format = "pyproject";
|
format = "pyproject";
|
||||||
|
|
||||||
disabled = pythonOlder "3.9";
|
disabled = pythonOlder "3.9";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchPypi {
|
||||||
owner = "home-assistant";
|
inherit pname version;
|
||||||
repo = "intents-package";
|
hash = "sha256-Tb9ZZvs5Wyzm2TS5INUSua4Y3/2H+kHEhjpfYWJi+d0=";
|
||||||
rev = "refs/tags/${version}";
|
|
||||||
hash = "sha256-uOrSvkzymG31nRmAgrn6z1IDJWahxqXHcPDflLPRVT4=";
|
|
||||||
fetchSubmodules = true;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
postPatch = ''
|
postPatch = ''
|
||||||
substituteInPlace pyproject.toml --replace 'requires = ["setuptools~=62.3", "wheel~=0.37.1"]' 'requires = ["setuptools", "wheel"]'
|
substituteInPlace pyproject.toml --replace-fail \
|
||||||
|
'requires = ["setuptools~=62.3", "wheel~=0.37.1"]' \
|
||||||
|
'requires = ["setuptools"]'
|
||||||
'';
|
'';
|
||||||
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
hassil
|
|
||||||
jinja2
|
|
||||||
pyyaml
|
|
||||||
regex
|
|
||||||
setuptools
|
setuptools
|
||||||
wheel
|
|
||||||
voluptuous
|
|
||||||
];
|
];
|
||||||
|
|
||||||
postInstall = ''
|
# sdist does not ship tests
|
||||||
pushd intents
|
doCheck = false;
|
||||||
# https://github.com/home-assistant/intents/blob/main/script/package#L18
|
|
||||||
${python.pythonOnBuildForHost.interpreter} -m script.intentfest merged_output $out/${python.sitePackages}/home_assistant_intents/data
|
|
||||||
popd
|
|
||||||
'';
|
|
||||||
|
|
||||||
checkInputs = [
|
|
||||||
pytest-xdist
|
|
||||||
pytestCheckHook
|
|
||||||
];
|
|
||||||
|
|
||||||
pytestFlagsArray = [
|
pytestFlagsArray = [
|
||||||
"intents/tests"
|
"intents/tests"
|
||||||
];
|
];
|
||||||
|
|
||||||
disabledTests = [
|
|
||||||
# AssertionError: Recognition failed for 'put apples on the list'
|
|
||||||
"test_shopping_list_HassShoppingListAddItem"
|
|
||||||
];
|
|
||||||
|
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
description = "Intents to be used with Home Assistant";
|
description = "Intents to be used with Home Assistant";
|
||||||
homepage = "https://github.com/home-assistant/intents";
|
homepage = "https://github.com/home-assistant/intents";
|
||||||
|
|
|
@ -0,0 +1,12 @@
|
||||||
|
diff --git a/homeassistant/components/http/static.py b/homeassistant/components/http/static.py
|
||||||
|
index e6e773d4c0..b53e0b4a11 100644
|
||||||
|
--- a/homeassistant/components/http/static.py
|
||||||
|
+++ b/homeassistant/components/http/static.py
|
||||||
|
@@ -31,7 +31,6 @@ def _get_file_path(rel_url: str, directory: Path) -> Path | None:
|
||||||
|
# where the static dir is totally different
|
||||||
|
raise HTTPForbidden
|
||||||
|
filepath: Path = directory.joinpath(filename).resolve()
|
||||||
|
- filepath.relative_to(directory)
|
||||||
|
# on opening a dir, load its contents if allowed
|
||||||
|
if filepath.is_dir():
|
||||||
|
return None
|
|
@ -1,37 +0,0 @@
|
||||||
diff --git a/homeassistant/components/frontend/__init__.py b/homeassistant/components/frontend/__init__.py
|
|
||||||
index 2ec991750f..9a937006ce 100644
|
|
||||||
--- a/homeassistant/components/frontend/__init__.py
|
|
||||||
+++ b/homeassistant/components/frontend/__init__.py
|
|
||||||
@@ -383,7 +383,7 @@ async def async_setup(hass: HomeAssistant, config: ConfigType) -> bool:
|
|
||||||
|
|
||||||
local = hass.config.path("www")
|
|
||||||
if os.path.isdir(local):
|
|
||||||
- hass.http.register_static_path("/local", local, not is_dev)
|
|
||||||
+ hass.http.register_static_path("/local", local, not is_dev, follow_symlinks=True)
|
|
||||||
|
|
||||||
# Can be removed in 2023
|
|
||||||
hass.http.register_redirect("/config/server_control", "/developer-tools/yaml")
|
|
||||||
diff --git a/homeassistant/components/http/__init__.py b/homeassistant/components/http/__init__.py
|
|
||||||
index 122b7b79ce..3cf2b7e0db 100644
|
|
||||||
--- a/homeassistant/components/http/__init__.py
|
|
||||||
+++ b/homeassistant/components/http/__init__.py
|
|
||||||
@@ -411,16 +411,16 @@ class HomeAssistantHTTP:
|
|
||||||
)
|
|
||||||
|
|
||||||
def register_static_path(
|
|
||||||
- self, url_path: str, path: str, cache_headers: bool = True
|
|
||||||
+ self, url_path: str, path: str, cache_headers: bool = True, follow_symlinks: bool = False
|
|
||||||
) -> None:
|
|
||||||
"""Register a folder or file to serve as a static path."""
|
|
||||||
if os.path.isdir(path):
|
|
||||||
if cache_headers:
|
|
||||||
resource: CachingStaticResource | web.StaticResource = (
|
|
||||||
- CachingStaticResource(url_path, path)
|
|
||||||
+ CachingStaticResource(url_path, path, follow_symlinks=follow_symlinks)
|
|
||||||
)
|
|
||||||
else:
|
|
||||||
- resource = web.StaticResource(url_path, path)
|
|
||||||
+ resource = web.StaticResource(url_path, path, follow_symlinks=follow_symlinks)
|
|
||||||
self.app.router.register_resource(resource)
|
|
||||||
self.app["allow_configured_cors"](resource)
|
|
||||||
return
|
|
|
@ -8,7 +8,7 @@
|
||||||
|
|
||||||
buildPythonPackage rec {
|
buildPythonPackage rec {
|
||||||
pname = "homeassistant-stubs";
|
pname = "homeassistant-stubs";
|
||||||
version = "2024.1.6";
|
version = "2024.2.1";
|
||||||
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-htFz3Cw5AvI1h2YvECOJdMA4N3JAQRRRhx1tfR4h5co=";
|
hash = "sha256-1a2iwyRyXOD8iaTzdnEGfwCgw6dU2bV1iWpoD7s35QI=";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
|
@ -27,7 +27,7 @@ buildPythonPackage rec {
|
||||||
|
|
||||||
postPatch = ''
|
postPatch = ''
|
||||||
# Relax constraint to year and month
|
# Relax constraint to year and month
|
||||||
substituteInPlace pyproject.toml --replace \
|
substituteInPlace pyproject.toml --replace-fail \
|
||||||
'homeassistant = "${version}"' \
|
'homeassistant = "${version}"' \
|
||||||
'homeassistant = "~${lib.versions.majorMinor home-assistant.version}"'
|
'homeassistant = "~${lib.versions.majorMinor home-assistant.version}"'
|
||||||
'';
|
'';
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
{ lib
|
{ lib
|
||||||
, stdenv
|
, stdenv
|
||||||
, fetchurl
|
, fetchurl
|
||||||
, scons_3_1_2
|
, buildPackages
|
||||||
, boost
|
, boost
|
||||||
, gperftools
|
, gperftools
|
||||||
, pcre-cpp
|
, pcre-cpp
|
||||||
|
@ -32,38 +32,19 @@ with lib;
|
||||||
}:
|
}:
|
||||||
|
|
||||||
let
|
let
|
||||||
variants =
|
scons = buildPackages.scons;
|
||||||
if versionAtLeast version "6.0"
|
python = scons.python.withPackages (ps: with ps; [
|
||||||
then rec {
|
pyyaml
|
||||||
python = scons.python.withPackages (ps: with ps; [
|
cheetah3
|
||||||
pyyaml
|
psutil
|
||||||
cheetah3
|
setuptools
|
||||||
psutil
|
] ++ lib.optionals (versionAtLeast version "6.0") [
|
||||||
setuptools
|
packaging
|
||||||
packaging
|
pymongo
|
||||||
pymongo
|
]);
|
||||||
]);
|
|
||||||
|
|
||||||
scons = scons_3_1_2;
|
mozjsVersion = "60";
|
||||||
|
mozjsReplace = "defined(HAVE___SINCOS)";
|
||||||
mozjsVersion = "60";
|
|
||||||
mozjsReplace = "defined(HAVE___SINCOS)";
|
|
||||||
|
|
||||||
}
|
|
||||||
else rec {
|
|
||||||
python = scons.python.withPackages (ps: with ps; [
|
|
||||||
pyyaml
|
|
||||||
cheetah3
|
|
||||||
psutil
|
|
||||||
setuptools
|
|
||||||
]);
|
|
||||||
|
|
||||||
scons = scons_3_1_2;
|
|
||||||
|
|
||||||
mozjsVersion = "60";
|
|
||||||
mozjsReplace = "defined(HAVE___SINCOS)";
|
|
||||||
|
|
||||||
};
|
|
||||||
|
|
||||||
system-libraries = [
|
system-libraries = [
|
||||||
"boost"
|
"boost"
|
||||||
|
@ -87,8 +68,10 @@ in stdenv.mkDerivation rec {
|
||||||
inherit sha256;
|
inherit sha256;
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ variants.scons ]
|
nativeBuildInputs = [
|
||||||
++ lib.optionals (versionAtLeast version "4.4") [ xz ];
|
scons
|
||||||
|
python
|
||||||
|
] ++ lib.optional stdenv.isLinux net-snmp;
|
||||||
|
|
||||||
buildInputs = [
|
buildInputs = [
|
||||||
boost
|
boost
|
||||||
|
@ -99,13 +82,12 @@ in stdenv.mkDerivation rec {
|
||||||
openssl
|
openssl
|
||||||
openldap
|
openldap
|
||||||
pcre-cpp
|
pcre-cpp
|
||||||
variants.python
|
|
||||||
sasl
|
sasl
|
||||||
snappy
|
snappy
|
||||||
zlib
|
zlib
|
||||||
] ++ lib.optionals stdenv.isDarwin [ Security CoreFoundation cctools ]
|
] ++ lib.optionals stdenv.isDarwin [ Security CoreFoundation cctools ]
|
||||||
++ lib.optionals stdenv.isLinux [ net-snmp ];
|
++ lib.optional stdenv.isLinux net-snmp
|
||||||
|
++ lib.optionals (versionAtLeast version "4.4") [ xz ];
|
||||||
|
|
||||||
# MongoDB keeps track of its build parameters, which tricks nix into
|
# MongoDB keeps track of its build parameters, which tricks nix into
|
||||||
# keeping dependencies to build inputs in the final output.
|
# keeping dependencies to build inputs in the final output.
|
||||||
|
@ -127,7 +109,7 @@ in stdenv.mkDerivation rec {
|
||||||
# remove -march overriding, we know better.
|
# remove -march overriding, we know better.
|
||||||
sed -i 's/env.Append.*-march=.*$/pass/' SConstruct
|
sed -i 's/env.Append.*-march=.*$/pass/' SConstruct
|
||||||
'' + lib.optionalString (stdenv.isDarwin && versionOlder version "6.0") ''
|
'' + lib.optionalString (stdenv.isDarwin && versionOlder version "6.0") ''
|
||||||
substituteInPlace src/third_party/mozjs-${variants.mozjsVersion}/extract/js/src/jsmath.cpp --replace '${variants.mozjsReplace}' 0
|
substituteInPlace src/third_party/mozjs-${mozjsVersion}/extract/js/src/jsmath.cpp --replace '${mozjsReplace}' 0
|
||||||
'' + lib.optionalString (stdenv.isDarwin && versionOlder version "3.6") ''
|
'' + lib.optionalString (stdenv.isDarwin && versionOlder version "3.6") ''
|
||||||
substituteInPlace src/third_party/s2/s1angle.cc --replace drem remainder
|
substituteInPlace src/third_party/s2/s1angle.cc --replace drem remainder
|
||||||
substituteInPlace src/third_party/s2/s1interval.cc --replace drem remainder
|
substituteInPlace src/third_party/s2/s1interval.cc --replace drem remainder
|
||||||
|
@ -162,6 +144,7 @@ in stdenv.mkDerivation rec {
|
||||||
preBuild = ''
|
preBuild = ''
|
||||||
sconsFlags+=" CC=$CC"
|
sconsFlags+=" CC=$CC"
|
||||||
sconsFlags+=" CXX=$CXX"
|
sconsFlags+=" CXX=$CXX"
|
||||||
|
sconsFlags+=" AR=$AR"
|
||||||
'' + optionalString stdenv.isAarch64 ''
|
'' + optionalString stdenv.isAarch64 ''
|
||||||
sconsFlags+=" CCFLAGS='-march=armv8-a+crc'"
|
sconsFlags+=" CCFLAGS='-march=armv8-a+crc'"
|
||||||
'';
|
'';
|
||||||
|
|
|
@ -6,27 +6,21 @@
|
||||||
|
|
||||||
python3.pkgs.buildPythonApplication rec {
|
python3.pkgs.buildPythonApplication rec {
|
||||||
pname = "wyoming-faster-whisper";
|
pname = "wyoming-faster-whisper";
|
||||||
version = "1.0.2";
|
version = "1.1.0";
|
||||||
pyproject = true;
|
pyproject = true;
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "rhasspy";
|
owner = "rhasspy";
|
||||||
repo = "wyoming-faster-whisper";
|
repo = "wyoming-faster-whisper";
|
||||||
rev = "refs/tags/v${version}";
|
rev = "refs/tags/v${version}";
|
||||||
hash = "sha256-mKnWab3i6lEnCBbO3ucNmWIxaaWwQagzfDhaD1U3qow=";
|
hash = "sha256-RD6J/Q7kvd+sgTpR6ERyV+D8gpm0fF38L3U/Jp7gOgk=";
|
||||||
};
|
};
|
||||||
|
|
||||||
patches = [
|
patches = [
|
||||||
# add wyoming-faster-whisper executable
|
|
||||||
(fetchpatch {
|
(fetchpatch {
|
||||||
url = "https://github.com/rhasspy/wyoming-faster-whisper/commit/a5715197abab34253d2864ed8cf406210834b4ec.patch";
|
# fix setup.py
|
||||||
hash = "sha256-a9gmXMngwXo9ZJDbxl/pPzm6WSy5XeGbz/Xncj7bOog=";
|
url = "https://github.com/rhasspy/wyoming-faster-whisper/commit/cdd1536997a091dcf9054da9ff424a2603067755.patch";
|
||||||
})
|
hash = "sha256-LGYo21FhKGXcAN9DjXzwIRqkOzTz3suXiQdgGrJSDBw=";
|
||||||
|
|
||||||
# fix model retrieval on python3.11+
|
|
||||||
(fetchpatch {
|
|
||||||
url = "https://github.com/rhasspy/wyoming-faster-whisper/commit/d5229df2c3af536013bc931c1ed7cc239b618208.patch";
|
|
||||||
hash = "sha256-CMpOJ1qSPcdtX2h2ecGmQ/haus/gaSH8r/PCFsMChRY=";
|
|
||||||
})
|
})
|
||||||
];
|
];
|
||||||
|
|
||||||
|
|
|
@ -10313,17 +10313,7 @@ self: super: with self; {
|
||||||
|
|
||||||
pycxx = callPackage ../development/python-modules/pycxx { };
|
pycxx = callPackage ../development/python-modules/pycxx { };
|
||||||
|
|
||||||
pycyphal = callPackage ../development/python-modules/pycyphal {
|
pycyphal = callPackage ../development/python-modules/pycyphal { };
|
||||||
# Does not yet support nunavut 2+, use latest 1.X version instead
|
|
||||||
# https://github.com/OpenCyphal/pycyphal/issues/277
|
|
||||||
nunavut = self.nunavut.overridePythonAttrs (prev: rec {
|
|
||||||
version = "1.9.0";
|
|
||||||
src = prev.src.override {
|
|
||||||
inherit version;
|
|
||||||
hash = "sha256-KhgijXJ908uxM7VZdXo1WU/RGU0cfqctBCbpF2wOcy8=";
|
|
||||||
};
|
|
||||||
});
|
|
||||||
};
|
|
||||||
|
|
||||||
pydaikin = callPackage ../development/python-modules/pydaikin { };
|
pydaikin = callPackage ../development/python-modules/pydaikin { };
|
||||||
|
|
||||||
|
|
File diff suppressed because it is too large
Load diff
Loading…
Reference in a new issue