Merge staging-next into staging
This commit is contained in:
commit
19b2e66364
110 changed files with 2562 additions and 551 deletions
|
@ -275,6 +275,8 @@ let
|
|||
"The option `${optText}' does not exist. Definition values:${defText}";
|
||||
in
|
||||
if attrNames options == [ "_module" ]
|
||||
# No options were declared at all (`_module` is built in)
|
||||
# but we do have unmatched definitions, and no freeformType (earlier conditions)
|
||||
then
|
||||
let
|
||||
optionName = showOption prefix;
|
||||
|
|
|
@ -94,6 +94,14 @@ checkConfigOutput '^true$' config.result ./module-argument-default.nix
|
|||
# gvariant
|
||||
checkConfigOutput '^true$' config.assertion ./gvariant.nix
|
||||
|
||||
# https://github.com/NixOS/nixpkgs/pull/131205
|
||||
# We currently throw this error already in `config`, but throwing in `config.wrong1` would be acceptable.
|
||||
checkConfigError 'It seems as if you.re trying to declare an option by placing it into .config. rather than .options.' config.wrong1 ./error-mkOption-in-config.nix
|
||||
# We currently throw this error already in `config`, but throwing in `config.nest.wrong2` would be acceptable.
|
||||
checkConfigError 'It seems as if you.re trying to declare an option by placing it into .config. rather than .options.' config.nest.wrong2 ./error-mkOption-in-config.nix
|
||||
checkConfigError 'The option .sub.wrong2. does not exist. Definition values:' config.sub ./error-mkOption-in-submodule-config.nix
|
||||
checkConfigError '.*This can happen if you e.g. declared your options in .types.submodule.' config.sub ./error-mkOption-in-submodule-config.nix
|
||||
|
||||
# types.pathInStore
|
||||
checkConfigOutput '".*/store/0lz9p8xhf89kb1c1kk6jxrzskaiygnlh-bash-5.2-p15.drv"' config.pathInStore.ok1 ./types.nix
|
||||
checkConfigOutput '".*/store/0fb3ykw9r5hpayd05sr0cizwadzq1d8q-bash-5.2-p15"' config.pathInStore.ok2 ./types.nix
|
||||
|
|
14
lib/tests/modules/error-mkOption-in-config.nix
Normal file
14
lib/tests/modules/error-mkOption-in-config.nix
Normal file
|
@ -0,0 +1,14 @@
|
|||
{ lib, ... }:
|
||||
let
|
||||
inherit (lib) mkOption;
|
||||
in
|
||||
{
|
||||
wrong1 = mkOption {
|
||||
};
|
||||
# This is not actually reported separately, so could be omitted from the test
|
||||
# but it makes the example more realistic.
|
||||
# Making it parse this _config_ as options would too risky. What if it's not
|
||||
# options but other values, that abort, throw, diverge, etc?
|
||||
nest.wrong2 = mkOption {
|
||||
};
|
||||
}
|
12
lib/tests/modules/error-mkOption-in-submodule-config.nix
Normal file
12
lib/tests/modules/error-mkOption-in-submodule-config.nix
Normal file
|
@ -0,0 +1,12 @@
|
|||
{ lib, ... }:
|
||||
let
|
||||
inherit (lib) mkOption;
|
||||
in
|
||||
{
|
||||
options.sub = lib.mkOption {
|
||||
type = lib.types.submodule {
|
||||
wrong2 = mkOption {};
|
||||
};
|
||||
default = {};
|
||||
};
|
||||
}
|
|
@ -3737,6 +3737,12 @@
|
|||
githubId = 1740337;
|
||||
name = "Chris Ostrouchov";
|
||||
};
|
||||
cottand = {
|
||||
email = "nico@dcotta.eu";
|
||||
github = "cottand";
|
||||
githubId = 45274424;
|
||||
name = "Nico D'Cotta";
|
||||
};
|
||||
couchemar = {
|
||||
email = "couchemar@yandex.ru";
|
||||
github = "couchemar";
|
||||
|
@ -5735,6 +5741,12 @@
|
|||
githubId = 25955146;
|
||||
name = "eyJhb";
|
||||
};
|
||||
eymeric = {
|
||||
name = "Eymeric Dechelette";
|
||||
email = "hatchchcien@protonmail.com";
|
||||
github = "hatch01";
|
||||
githubId = 42416805;
|
||||
};
|
||||
f2k1de = {
|
||||
name = "f2k1de";
|
||||
email = "hi@f2k1.de";
|
||||
|
@ -6744,8 +6756,6 @@
|
|||
};
|
||||
gm6k = {
|
||||
email = "nix@quidecco.pl";
|
||||
github = "zeuner";
|
||||
githubId = 2545850;
|
||||
name = "Isidor Zeuner";
|
||||
};
|
||||
gmemstr = {
|
||||
|
@ -8840,6 +8850,12 @@
|
|||
githubId = 6321578;
|
||||
name = "John Rinehart";
|
||||
};
|
||||
john-rodewald = {
|
||||
email = "jnrodewald99@gmail.com";
|
||||
github = "john-rodewald";
|
||||
githubId = 51028009;
|
||||
name = "John Rodewald";
|
||||
};
|
||||
john-shaffer = {
|
||||
email = "jdsha@proton.me";
|
||||
github = "john-shaffer";
|
||||
|
@ -9372,6 +9388,7 @@
|
|||
katexochen = {
|
||||
github = "katexochen";
|
||||
githubId = 49727155;
|
||||
matrix = "@katexochen:matrix.org";
|
||||
name = "Paul Meyer";
|
||||
};
|
||||
kayhide = {
|
||||
|
@ -18554,8 +18571,6 @@
|
|||
};
|
||||
tomkoid = {
|
||||
email = "tomaszierl@outlook.com";
|
||||
github = "Tomkoid";
|
||||
githubId = 67477750;
|
||||
name = "Tomkoid";
|
||||
};
|
||||
tomodachi94 = {
|
||||
|
|
|
@ -55,6 +55,14 @@ which causes the new configuration (and previous ones created using
|
|||
This can be useful to separate test configurations from "stable"
|
||||
configurations.
|
||||
|
||||
A repl, or read-eval-print loop, is also available. You can inspect your configuration and use the Nix language with
|
||||
|
||||
```ShellSession
|
||||
# nixos-rebuild repl
|
||||
```
|
||||
|
||||
Your configuration is loaded into the `config` variable. Use tab for autocompletion, use the `:r` command to reload the configuration files. See `:?` or [`nix repl` in the Nix manual](https://nixos.org/manual/nix/stable/command-ref/new-cli/nix3-repl.html) to learn more.
|
||||
|
||||
Finally, you can do
|
||||
|
||||
```ShellSession
|
||||
|
|
|
@ -32,6 +32,9 @@ The pre-existing [services.ankisyncd](#opt-services.ankisyncd.enable) has been m
|
|||
- `mkosi` was updated to v19. Parts of the user interface have changed. Consult the
|
||||
[release notes](https://github.com/systemd/mkosi/releases/tag/v19) for a list of changes.
|
||||
|
||||
- `services.avahi.nssmdns` got split into `services.avahi.nssmdns4` and `services.avahi.nssmdns6` which enable the mDNS NSS switch for IPv4 and IPv6 respectively.
|
||||
Since most mDNS responders only register IPv4 addresses, most users want to keep the IPv6 support disabled to avoid long timeouts.
|
||||
|
||||
## Other Notable Changes {#sec-release-24.05-notable-changes}
|
||||
|
||||
<!-- To avoid merge conflicts, consider adding your item at an arbitrary place in the list instead. -->
|
||||
|
@ -60,5 +63,10 @@ The pre-existing [services.ankisyncd](#opt-services.ankisyncd.enable) has been m
|
|||
|
||||
- The `hardware.pulseaudio` module now sets permission of pulse user home directory to 755 when running in "systemWide" mode. It fixes [issue 114399](https://github.com/NixOS/nixpkgs/issues/114399).
|
||||
|
||||
- The `btrbk` module now automatically selects and provides required compression
|
||||
program depending on the configured `stream_compress` option. Since this
|
||||
replaces the need for the `extraPackages` option, this option will be
|
||||
deprecated in future releases.
|
||||
|
||||
- QtMultimedia has changed its default backend to `QT_MEDIA_BACKEND=ffmpeg` (previously `gstreamer` on Linux or `darwin` on MacOS).
|
||||
The previous native backends remain available but are now minimally maintained. Refer to [upstream documentation](https://doc.qt.io/qt-6/qtmultimedia-index.html#ffmpeg-as-the-default-backend) for further details about each platform.
|
||||
|
|
|
@ -6,12 +6,15 @@ let
|
|||
concatMapStringsSep
|
||||
concatStringsSep
|
||||
filterAttrs
|
||||
flatten
|
||||
getAttr
|
||||
isAttrs
|
||||
literalExpression
|
||||
mapAttrs'
|
||||
mapAttrsToList
|
||||
mkIf
|
||||
mkOption
|
||||
optional
|
||||
optionalString
|
||||
sortOn
|
||||
types
|
||||
|
@ -84,6 +87,18 @@ let
|
|||
'';
|
||||
};
|
||||
|
||||
streamCompressMap = {
|
||||
gzip = pkgs.gzip;
|
||||
pigz = pkgs.pigz;
|
||||
bzip2 = pkgs.bzip2;
|
||||
pbzip2 = pkgs.pbzip2;
|
||||
bzip3 = pkgs.bzip3;
|
||||
xz = pkgs.xz;
|
||||
lzo = pkgs.lzo;
|
||||
lz4 = pkgs.lz4;
|
||||
zstd = pkgs.zstd;
|
||||
};
|
||||
|
||||
cfg = config.services.btrbk;
|
||||
sshEnabled = cfg.sshAccess != [ ];
|
||||
serviceEnabled = cfg.instances != { };
|
||||
|
@ -94,7 +109,14 @@ in
|
|||
options = {
|
||||
services.btrbk = {
|
||||
extraPackages = mkOption {
|
||||
description = lib.mdDoc "Extra packages for btrbk, like compression utilities for `stream_compress`";
|
||||
description = lib.mdDoc ''
|
||||
Extra packages for btrbk, like compression utilities for `stream_compress`.
|
||||
|
||||
**Note**: This option will get deprecated in future releases.
|
||||
Required compression programs will get automatically provided to btrbk
|
||||
depending on configured compression method in
|
||||
`services.btrbk.instances.<name>.settings` option.
|
||||
'';
|
||||
type = types.listOf types.package;
|
||||
default = [ ];
|
||||
example = literalExpression "[ pkgs.xz ]";
|
||||
|
@ -124,7 +146,19 @@ in
|
|||
'';
|
||||
};
|
||||
settings = mkOption {
|
||||
type = let t = types.attrsOf (types.either types.str (t // { description = "instances of this type recursively"; })); in t;
|
||||
type = types.submodule {
|
||||
freeformType = let t = types.attrsOf (types.either types.str (t // { description = "instances of this type recursively"; })); in t;
|
||||
options = {
|
||||
stream_compress = mkOption {
|
||||
description = lib.mdDoc ''
|
||||
Compress the btrfs send stream before transferring it from/to remote locations using a
|
||||
compression command.
|
||||
'';
|
||||
type = types.enum ["gzip" "pigz" "bzip2" "pbzip2" "bzip3" "xz" "lzo" "lz4" "zstd" "no"];
|
||||
default = "no";
|
||||
};
|
||||
};
|
||||
};
|
||||
default = { };
|
||||
example = {
|
||||
snapshot_preserve_min = "2d";
|
||||
|
@ -169,6 +203,11 @@ in
|
|||
|
||||
};
|
||||
config = mkIf (sshEnabled || serviceEnabled) {
|
||||
|
||||
warnings = optional (cfg.extraPackages != []) ''
|
||||
extraPackages option will be deprecated in future releases. Programs required for compression are now automatically selected depending on services.btrbk.instances.<name>.settings.stream_compress option.
|
||||
'';
|
||||
|
||||
environment.systemPackages = [ pkgs.btrbk ] ++ cfg.extraPackages;
|
||||
|
||||
security.sudo.extraRules = mkIf (sudo_doas == "sudo") [ sudoRule ];
|
||||
|
@ -232,12 +271,15 @@ in
|
|||
cfg.instances;
|
||||
systemd.services = mapAttrs'
|
||||
(
|
||||
name: _: {
|
||||
name: instance: {
|
||||
name = "btrbk-${name}";
|
||||
value = {
|
||||
description = "Takes BTRFS snapshots and maintains retention policies.";
|
||||
unitConfig.Documentation = "man:btrbk(1)";
|
||||
path = [ "/run/wrappers" ] ++ cfg.extraPackages;
|
||||
path = [ "/run/wrappers" ]
|
||||
++ cfg.extraPackages
|
||||
++ optional (instance.settings.stream_compress != "no")
|
||||
(getAttr instance.settings.stream_compress streamCompressMap);
|
||||
serviceConfig = {
|
||||
User = "btrbk";
|
||||
Group = "btrbk";
|
||||
|
|
|
@ -1,10 +1,7 @@
|
|||
{ config, lib, pkgs, ... }:
|
||||
|
||||
with lib;
|
||||
|
||||
let
|
||||
cfg = config.services.power-profiles-daemon;
|
||||
package = pkgs.power-profiles-daemon;
|
||||
in
|
||||
|
||||
{
|
||||
|
@ -15,8 +12,8 @@ in
|
|||
|
||||
services.power-profiles-daemon = {
|
||||
|
||||
enable = mkOption {
|
||||
type = types.bool;
|
||||
enable = lib.mkOption {
|
||||
type = lib.types.bool;
|
||||
default = false;
|
||||
description = lib.mdDoc ''
|
||||
Whether to enable power-profiles-daemon, a DBus daemon that allows
|
||||
|
@ -24,6 +21,8 @@ in
|
|||
'';
|
||||
};
|
||||
|
||||
package = lib.mkPackageOption pkgs "power-profiles-daemon" { };
|
||||
|
||||
};
|
||||
|
||||
};
|
||||
|
@ -31,7 +30,7 @@ in
|
|||
|
||||
###### implementation
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
config = lib.mkIf cfg.enable {
|
||||
|
||||
assertions = [
|
||||
{ assertion = !config.services.tlp.enable;
|
||||
|
@ -42,13 +41,13 @@ in
|
|||
}
|
||||
];
|
||||
|
||||
environment.systemPackages = [ package ];
|
||||
environment.systemPackages = [ cfg.package ];
|
||||
|
||||
services.dbus.packages = [ package ];
|
||||
services.dbus.packages = [ cfg.package ];
|
||||
|
||||
services.udev.packages = [ package ];
|
||||
services.udev.packages = [ cfg.package ];
|
||||
|
||||
systemd.packages = [ package ];
|
||||
systemd.packages = [ cfg.package ];
|
||||
|
||||
};
|
||||
|
||||
|
|
|
@ -75,7 +75,7 @@ let
|
|||
# Create parts of the lovelace config that reference lovelave modules as resources
|
||||
customLovelaceModulesResources = {
|
||||
lovelace.resources = map (card: {
|
||||
url = "/local/nixos-lovelace-modules/${card.entrypoint or card.pname + ".js"}?${card.version}";
|
||||
url = "/local/nixos-lovelace-modules/${card.entrypoint or (card.pname + ".js")}?${card.version}";
|
||||
type = "module";
|
||||
}) cfg.customLovelaceModules;
|
||||
};
|
||||
|
@ -157,7 +157,7 @@ in {
|
|||
default = [];
|
||||
example = literalExpression ''
|
||||
with pkgs.home-assistant-custom-components; [
|
||||
prometheus-sensor
|
||||
prometheus_sensor
|
||||
];
|
||||
'';
|
||||
description = lib.mdDoc ''
|
||||
|
@ -523,7 +523,6 @@ in {
|
|||
"bluetooth_tracker"
|
||||
"bthome"
|
||||
"default_config"
|
||||
"eq3btsmart"
|
||||
"eufylife_ble"
|
||||
"esphome"
|
||||
"fjaraskupan"
|
||||
|
|
|
@ -42,6 +42,7 @@ in
|
|||
{
|
||||
imports = [
|
||||
(lib.mkRenamedOptionModule [ "services" "avahi" "interfaces" ] [ "services" "avahi" "allowInterfaces" ])
|
||||
(lib.mkRenamedOptionModule [ "services" "avahi" "nssmdns" ] [ "services" "avahi" "nssmdns4" ])
|
||||
];
|
||||
|
||||
options.services.avahi = {
|
||||
|
@ -93,7 +94,7 @@ in
|
|||
|
||||
ipv6 = mkOption {
|
||||
type = types.bool;
|
||||
default = config.networking.enableIPv6;
|
||||
default = false;
|
||||
defaultText = literalExpression "config.networking.enableIPv6";
|
||||
description = lib.mdDoc "Whether to use IPv6.";
|
||||
};
|
||||
|
@ -218,16 +219,31 @@ in
|
|||
};
|
||||
};
|
||||
|
||||
nssmdns = mkOption {
|
||||
nssmdns4 = mkOption {
|
||||
type = types.bool;
|
||||
default = false;
|
||||
description = lib.mdDoc ''
|
||||
Whether to enable the mDNS NSS (Name Service Switch) plug-in.
|
||||
Whether to enable the mDNS NSS (Name Service Switch) plug-in for IPv4.
|
||||
Enabling it allows applications to resolve names in the `.local`
|
||||
domain by transparently querying the Avahi daemon.
|
||||
'';
|
||||
};
|
||||
|
||||
nssmdns6 = mkOption {
|
||||
type = types.bool;
|
||||
default = false;
|
||||
description = lib.mdDoc ''
|
||||
Whether to enable the mDNS NSS (Name Service Switch) plug-in for IPv6.
|
||||
Enabling it allows applications to resolve names in the `.local`
|
||||
domain by transparently querying the Avahi daemon.
|
||||
|
||||
::: {.note}
|
||||
Due to the fact that most mDNS responders only register local IPv4 addresses,
|
||||
most user want to leave this option disabled to avoid long timeouts when applications first resolve the none existing IPv6 address.
|
||||
:::
|
||||
'';
|
||||
};
|
||||
|
||||
cacheEntriesMax = mkOption {
|
||||
type = types.nullOr types.int;
|
||||
default = null;
|
||||
|
@ -257,8 +273,17 @@ in
|
|||
users.groups.avahi = { };
|
||||
|
||||
system.nssModules = optional cfg.nssmdns pkgs.nssmdns;
|
||||
system.nssDatabases.hosts = optionals cfg.nssmdns (mkMerge [
|
||||
(mkBefore [ "mdns_minimal [NOTFOUND=return]" ]) # before resolve
|
||||
system.nssDatabases.hosts = let
|
||||
mdnsMinimal = if (cfg.nssmdns4 && cfg.nssmdns6) then
|
||||
"mdns_minimal"
|
||||
else if (!cfg.nssmdns4 && cfg.nssmdns6) then
|
||||
"mdns6_minimal"
|
||||
else if (cfg.nssmdns4 && !cfg.nssmdns6) then
|
||||
"mdns4_minimal"
|
||||
else
|
||||
"";
|
||||
in optionals (cfg.nssmdns4 || cfg.nssmdns6) (mkMerge [
|
||||
(mkBefore [ "${mdnsMinimal} [NOTFOUND=return]" ]) # before resolve
|
||||
(mkAfter [ "mdns" ]) # after dns
|
||||
]);
|
||||
|
||||
|
|
|
@ -126,7 +126,7 @@ with lib;
|
|||
default = "dyndns2";
|
||||
type = str;
|
||||
description = lib.mdDoc ''
|
||||
Protocol to use with dynamic DNS provider (see https://sourceforge.net/p/ddclient/wiki/protocols).
|
||||
Protocol to use with dynamic DNS provider (see https://ddclient.net/protocols.html ).
|
||||
'';
|
||||
};
|
||||
|
||||
|
|
|
@ -27,7 +27,6 @@ import ./make-test-python.nix ({ pkgs, ... }:
|
|||
# don't do it with real ssh keys.
|
||||
environment.etc."btrbk_key".text = privateKey;
|
||||
services.btrbk = {
|
||||
extraPackages = [ pkgs.lz4 ];
|
||||
instances = {
|
||||
remote = {
|
||||
onCalendar = "minutely";
|
||||
|
|
|
@ -182,7 +182,7 @@ in {
|
|||
hass.wait_until_succeeds("journalctl -u home-assistant.service | grep -q 'We found a custom integration prometheus_sensor which has not been tested by Home Assistant'")
|
||||
|
||||
with subtest("Check that lovelace modules are referenced and fetchable"):
|
||||
hass.succeed("grep -q 'mini-graph-card-bundle.js' '${configDir}/ui-lovelace.yaml'")
|
||||
hass.succeed("grep -q 'mini-graph-card-bundle.js' '${configDir}/configuration.yaml'")
|
||||
hass.succeed("curl --fail http://localhost:8123/local/nixos-lovelace-modules/mini-graph-card-bundle.js")
|
||||
|
||||
with subtest("Check that optional dependencies are in the PYTHONPATH"):
|
||||
|
|
|
@ -144,6 +144,7 @@ in
|
|||
|
||||
restartAndCheckNebula = name: ip: ''
|
||||
${name}.systemctl("restart nebula@smoke.service")
|
||||
${name}.wait_for_unit("nebula@smoke.service")
|
||||
${name}.succeed("ping -c5 ${ip}")
|
||||
'';
|
||||
|
||||
|
@ -179,6 +180,8 @@ in
|
|||
${nodeB}.succeed("iptables -I INPUT -s " + node_a + " -j DROP")
|
||||
${nodeA}.systemctl("restart nebula@smoke.service")
|
||||
${nodeB}.systemctl("restart nebula@smoke.service")
|
||||
${nodeA}.wait_for_unit("nebula@smoke.service")
|
||||
${nodeB}.wait_for_unit("nebula@smoke.service")
|
||||
'';
|
||||
allowTrafficBetween = nodeA: nodeB: ''
|
||||
node_a = ${getPublicIp nodeA}
|
||||
|
@ -187,6 +190,8 @@ in
|
|||
${nodeB}.succeed("iptables -D INPUT -s " + node_a + " -j DROP")
|
||||
${nodeA}.systemctl("restart nebula@smoke.service")
|
||||
${nodeB}.systemctl("restart nebula@smoke.service")
|
||||
${nodeA}.wait_for_unit("nebula@smoke.service")
|
||||
${nodeB}.wait_for_unit("nebula@smoke.service")
|
||||
'';
|
||||
in ''
|
||||
# Create the certificate and sign the lighthouse's keys.
|
||||
|
|
|
@ -18,13 +18,13 @@
|
|||
|
||||
buildGoModule rec {
|
||||
pname = "gtkcord4";
|
||||
version = "0.0.12";
|
||||
version = "0.0.16-1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "diamondburned";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
hash = "sha256-x//PST2f501QuxRdPe3cYbpL66/zLJWmscED9SbxsTk=";
|
||||
hash = "sha256-GDQ11X202RIoJUZ2eJ9ukHalhXtKYn9C8lcvAzzaB+4=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
@ -52,17 +52,17 @@ buildGoModule rec {
|
|||
];
|
||||
|
||||
postInstall = ''
|
||||
install -D -m 444 -t $out/share/applications nix/xyz.diamondb.gtkcord4.desktop
|
||||
install -D -m 444 internal/icons/svg/logo.svg $out/share/icons/hicolor/scalable/apps/gtkcord4.svg
|
||||
install -D -m 444 internal/icons/png/logo.png $out/share/icons/hicolor/256x256/apps/gtkcord4.png
|
||||
install -D -m 444 -t $out/share/applications nix/so.libdb.gtkcord4.desktop
|
||||
install -D -m 444 internal/icons/hicolor/scalable/apps/logo.svg $out/share/icons/hicolor/scalable/apps/gtkcord4.svg
|
||||
'';
|
||||
|
||||
vendorHash = "sha256-LCLZBcYiexffvCr4vdZdIwNKo0s4mqPc6KxRumRhf1Y=";
|
||||
vendorHash = "sha256-ZQBYi5t6ntukoHP2FtwpZrpFd7b2opPC8tOSU9j3jUM=";
|
||||
|
||||
meta = with lib; {
|
||||
description = "GTK4 Discord client in Go, attempt #4.";
|
||||
description = "GTK4 Discord client in Go, attempt #4";
|
||||
homepage = "https://github.com/diamondburned/gtkcord4";
|
||||
license = licenses.gpl3Only;
|
||||
mainProgram = "gtkcord4";
|
||||
maintainers = with maintainers; [ hmenke urandom aleksana ];
|
||||
};
|
||||
}
|
||||
|
|
|
@ -17,46 +17,56 @@
|
|||
, wrapGAppsHook4
|
||||
, yarn
|
||||
, nodejs
|
||||
, blueprint-compiler
|
||||
, libsecret
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "muzika";
|
||||
version = "unstable-2023-06-07";
|
||||
version = "unstable-2023-11-07";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "vixalien";
|
||||
repo = "muzika";
|
||||
rev = "d0ca7eebad67082e73513ebd7ca04edb1fdec7ce";
|
||||
hash = "sha256-ycnHpyYaUJZgproTLCWCVzsvnUisXlq3fqlij1KryWA=";
|
||||
rev = "69c25e066297c45f4ce42d84d5d4c200789fbedf";
|
||||
hash = "sha256-Uof72o6HG4pYj1KZ8KgCwQA+0m778ezZxmt3TohNZcY=";
|
||||
fetchSubmodules = true;
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
# Remove git command from version query
|
||||
sed -i '2d' meson.build
|
||||
'';
|
||||
|
||||
nativeBuildInputs = [
|
||||
blueprint-compiler
|
||||
desktop-file-utils
|
||||
gobject-introspection
|
||||
meson
|
||||
ninja
|
||||
nodejs
|
||||
pkg-config
|
||||
prefetch-yarn-deps
|
||||
wrapGAppsHook4
|
||||
yarn
|
||||
prefetch-yarn-deps
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
gjs
|
||||
glib-networking
|
||||
gst_all_1.gst-plugins-bad
|
||||
gst_all_1.gst-plugins-base
|
||||
gst_all_1.gst-plugins-good
|
||||
gst_all_1.gst-plugins-bad
|
||||
gst_all_1.gst-plugins-rs
|
||||
gtk4
|
||||
libadwaita
|
||||
libsecret
|
||||
libsoup_3
|
||||
];
|
||||
|
||||
yarnOfflineCache = fetchYarnDeps {
|
||||
yarnLock = src + "/yarn.lock";
|
||||
hash = "sha256-FvPEbYIydgfyKKsf2jnXUbPEhIboPi3wR7BWzEuo72Q=";
|
||||
hash = "sha256-/NkLfBmQGvgufF9ajgs7DQsBkWUUK4Bslhy7VmCBrGg=";
|
||||
};
|
||||
|
||||
preConfigure = ''
|
||||
|
|
|
@ -2750,7 +2750,7 @@ let
|
|||
# Please update the corresponding binary (typst-lsp) when updating
|
||||
# this extension.
|
||||
version = "0.12.0";
|
||||
sha256 = "sha256-5DwpgDstKJXo9jEWORXKr3B6Hnd/YOktiaJL2RFWCSA=";
|
||||
sha256 = "sha256-9v6zJyeUBj0TOpK2otLqZ0ksjmzExKTJYRF+9akvuuo=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ jq moreutils ];
|
||||
|
|
|
@ -10,16 +10,16 @@
|
|||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "kickoff";
|
||||
version = "0.7.1";
|
||||
version = "0.7.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "j0ru";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
hash = "sha256-9QupKpB3T/6gdGSeLjRknjPdgOzbfzEeJreIamWwpSw=";
|
||||
hash = "sha256-WUDbb/GLABhqE93O6bm19Y+r0kSMEJrvduw68Igub44=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-a7FZpMtgTdqpLV/OfgN4W4GpTJlkfEtPO7F//FmVA/s=";
|
||||
cargoHash = "sha256-nhUC9PSKAbNEK5e4WRx3dgYI0rJP5XSWcW6M5E0Ihv4=";
|
||||
|
||||
libPath = lib.makeLibraryPath [
|
||||
wayland
|
||||
|
|
|
@ -41,7 +41,7 @@ let
|
|||
homepage = "https://www.nomadproject.io/";
|
||||
description = "A Distributed, Highly Available, Datacenter-Aware Scheduler";
|
||||
license = licenses.mpl20;
|
||||
maintainers = with maintainers; [ rushmorem pradeepchhetri endocrimes amaxine techknowlogick ];
|
||||
maintainers = with maintainers; [ rushmorem pradeepchhetri endocrimes amaxine techknowlogick cottand ];
|
||||
};
|
||||
} // attrs');
|
||||
in
|
||||
|
@ -75,9 +75,9 @@ rec {
|
|||
|
||||
nomad_1_6 = generic {
|
||||
buildGoModule = buildGo121Module;
|
||||
version = "1.6.3";
|
||||
sha256 = "sha256-5UWGriDy15PX3+9UppcUsEwih/e9COLVBis3fn+24L0=";
|
||||
vendorHash = "sha256-gXoheW6Ww9Iu4utKNHweP2blzhWid+Q9Tp0ZgCmBAVg=";
|
||||
version = "1.6.4";
|
||||
sha256 = "sha256-tlbuxKCm7he1Tij4BYKGvv7a6LKiyWgs2PvbcWg/7A0=";
|
||||
vendorHash = "sha256-PrQit4egSq/pkILb6M7A3gsiQvLPABhyLXWgv8GFz/Y=";
|
||||
passthru.tests.nomad = nixosTests.nomad;
|
||||
preCheck = ''
|
||||
export PATH="$PATH:$NIX_BUILD_TOP/go/bin"
|
||||
|
|
|
@ -2,11 +2,11 @@
|
|||
|
||||
let
|
||||
pname = "rambox";
|
||||
version = "2.2.2";
|
||||
version = "2.2.3";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/ramboxapp/download/releases/download/v${version}/Rambox-${version}-linux-x64.AppImage";
|
||||
sha256 = "sha256-P6ia7IU6OQJQXANy1snIZEqarKUcRmgbkP6L+UMwi+8=";
|
||||
sha256 = "sha256-V1Sxfgn3fcqW7t7oa1pfnrPYAqHdCLrWUbplE/I789A=";
|
||||
};
|
||||
|
||||
desktopItem = (makeDesktopItem {
|
||||
|
|
|
@ -68,7 +68,6 @@ stdenv.mkDerivation rec {
|
|||
license = lib.licenses.gpl2;
|
||||
platforms = with lib.platforms; linux ++ darwin;
|
||||
maintainers = [ lib.maintainers.cge ];
|
||||
# never built on aarch64-darwin since first introduction in nixpkgs
|
||||
broken = stdenv.isDarwin && stdenv.isAarch64;
|
||||
broken = true; # Build error: h5py-3.9.0 not supported for interpreter python2.7
|
||||
};
|
||||
}
|
||||
|
|
|
@ -2,13 +2,13 @@
|
|||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "isabelle-linter";
|
||||
version = "1.2.1";
|
||||
version = "2023-1.0.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "isabelle-prover";
|
||||
repo = "isabelle-linter";
|
||||
rev = "Isabelle2022-v${version}";
|
||||
sha256 = "sha256-qlojNCsm3/49TtAVq6J31BbQipdIoDcn71pBotZyquY=";
|
||||
rev = "Isabelle2023-v1.0.0";
|
||||
sha256 = "sha256-q9+qN94NaTzvhbcNQj7yH/VVfs1QgCH8OU8HW+5+s9U=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ isabelle ];
|
||||
|
|
|
@ -46,7 +46,7 @@ let
|
|||
};
|
||||
in stdenv.mkDerivation (finalAttrs: rec {
|
||||
pname = "isabelle";
|
||||
version = "2022";
|
||||
version = "2023";
|
||||
|
||||
dirname = "Isabelle${version}";
|
||||
|
||||
|
@ -56,18 +56,18 @@ in stdenv.mkDerivation (finalAttrs: rec {
|
|||
fetchurl
|
||||
{
|
||||
url = "https://isabelle.in.tum.de/website-${dirname}/dist/${dirname}_macos.tar.gz";
|
||||
sha256 = "0b84rx9b7b5y8m1sg7xdp17j6yngd2dkx6v5bkd8h7ly102lai18";
|
||||
sha256 = "sha256-0VSW2SrHNI3/k4cCCZ724ruXaq7W1NCPsLrXFZ9l1/Q=";
|
||||
}
|
||||
else if stdenv.hostPlatform.isx86
|
||||
then
|
||||
fetchurl {
|
||||
url = "https://isabelle.in.tum.de/website-${dirname}/dist/${dirname}_linux.tar.gz";
|
||||
sha256 = "1ih4gykkp1an43qdgc5xzyvf30fhs0dah3y0a5ksbmvmjsfnxyp7";
|
||||
sha256 = "sha256-Go4ZCsDz5gJ7uWG5VLrNJOddMPX18G99FAadpX53Rqg=";
|
||||
}
|
||||
else
|
||||
fetchurl {
|
||||
url = "https://isabelle.in.tum.de/website-${dirname}/dist/${dirname}_linux_arm.tar.gz";
|
||||
hash = "sha256-qI/BR/KZwLjnkO5q/yYeW4lN4xyUe78VOM2INC/Z/io=";
|
||||
hash = "sha256-Tzxxs0gKw6vymbaXIzH8tK5VgUrpOIp9vcWQ/zxnRCc=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ java ];
|
||||
|
@ -134,8 +134,7 @@ in stdenv.mkDerivation (finalAttrs: rec {
|
|||
|
||||
substituteInPlace src/Tools/Setup/src/Environment.java \
|
||||
--replace 'cmd.add("/usr/bin/env");' "" \
|
||||
--replace 'cmd.add("bash");' "cmd.add(\"$SHELL\");" \
|
||||
--replace 'private static read_file(path: Path): String =' 'private static String read_file(Path path) throws IOException'
|
||||
--replace 'cmd.add("bash");' "cmd.add(\"$SHELL\");"
|
||||
|
||||
substituteInPlace src/Pure/General/sha1.ML \
|
||||
--replace '"$ML_HOME/" ^ (if ML_System.platform_is_windows then "sha1.dll" else "libsha1.so")' '"${sha1}/lib/libsha1.so"'
|
||||
|
|
|
@ -2,13 +2,13 @@
|
|||
|
||||
with haskellPackages; mkDerivation {
|
||||
pname = "Naproche-SAD";
|
||||
version = "2022-10-24";
|
||||
version = "unstable-2023-07-11";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "naproche";
|
||||
repo = "naproche";
|
||||
rev = "c8c4ca2d5fdb92bf17e0e54c99bd2a9691255d80";
|
||||
sha256 = "0xvh6kkl5k5ygp2nrbq3k0snvzczbmcp1yrwdkah3fzhf9i3yykx";
|
||||
rev = "4c399d49a86987369bec6e1ac5ae3739cd6db0a8";
|
||||
sha256 = "sha256-Ji6yxbDEcwuYAzIZwK5sHNltK1WBFBfpyoEtoID/U4k=";
|
||||
};
|
||||
|
||||
isExecutable = true;
|
||||
|
|
|
@ -1,12 +1,12 @@
|
|||
{ lib, fetchurl, fetchpatch, stdenv, zlib, ncurses, libiconv }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "fnc";
|
||||
version = "0.15";
|
||||
version = "0.16";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://fnc.bsdbox.org/tarball/${version}/fnc-${version}.tar.gz";
|
||||
sha256 = "sha256-8up844ekIOMcPlfB2DJzR/GgJY9s/sBeYpG+YtdauvU=";
|
||||
url = "https://fnc.bsdbox.org/tarball/${finalAttrs.version}/fnc-${finalAttrs.version}.tar.gz";
|
||||
hash = "sha256-6I6wtSMHaKdnlUK4pYiaybJeODGu2P+smYW8lQDIWGM=";
|
||||
};
|
||||
|
||||
buildInputs = [ libiconv ncurses zlib ];
|
||||
|
@ -16,6 +16,9 @@ stdenv.mkDerivation rec {
|
|||
env.NIX_CFLAGS_COMPILE = toString (lib.optionals stdenv.cc.isGNU [
|
||||
# Needed with GCC 12
|
||||
"-Wno-error=maybe-uninitialized"
|
||||
] ++ lib.optionals stdenv.isDarwin [
|
||||
# error: 'strtonum' is only available on macOS 11.0 or newer
|
||||
"-Wno-error=unguarded-availability-new"
|
||||
]);
|
||||
|
||||
preInstall = ''
|
||||
|
@ -35,4 +38,4 @@ stdenv.mkDerivation rec {
|
|||
maintainers = with maintainers; [ abbe ];
|
||||
mainProgram = "fnc";
|
||||
};
|
||||
}
|
||||
})
|
||||
|
|
|
@ -9,11 +9,11 @@
|
|||
|
||||
python3.pkgs.buildPythonApplication rec {
|
||||
pname = "scriv";
|
||||
version = "1.4.0";
|
||||
version = "1.5.0";
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
hash = "sha256-vdGtdJGkaUzH2JoxuFsfM57OodlxbEHuLl81giKUn6U=";
|
||||
hash = "sha256-+OTWFDnHCF2bxQU8f7DfULYG1cA9tOZCsNRPdKobns8=";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = with python3.pkgs; [
|
||||
|
@ -21,6 +21,7 @@ python3.pkgs.buildPythonApplication rec {
|
|||
click
|
||||
click-log
|
||||
jinja2
|
||||
markdown-it-py
|
||||
requests
|
||||
] ++ lib.optionals (python3.pythonOlder "3.11") [
|
||||
tomli
|
||||
|
|
|
@ -2,13 +2,13 @@
|
|||
|
||||
buildGoModule rec {
|
||||
pname = "podman-tui";
|
||||
version = "0.13.0";
|
||||
version = "0.14.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "containers";
|
||||
repo = "podman-tui";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-d2T2A4LsZQ09w7ZsVceqCGaO8wijRGGsk3hLhMykM9U=";
|
||||
hash = "sha256-RSQcpodippp4B4FM0yr+YFseoofas1M6xBqqtFD1BB0=";
|
||||
};
|
||||
|
||||
vendorHash = null;
|
||||
|
|
65
pkgs/by-name/za/zapzap/package.nix
Normal file
65
pkgs/by-name/za/zapzap/package.nix
Normal file
|
@ -0,0 +1,65 @@
|
|||
{ lib
|
||||
, fetchFromGitHub
|
||||
, python3Packages
|
||||
, qt6
|
||||
, fetchpatch
|
||||
}:
|
||||
|
||||
python3Packages.buildPythonApplication rec {
|
||||
pname = "zapzap";
|
||||
version = "4.5.5.2";
|
||||
format = "setuptools";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "zapzap-linux";
|
||||
repo = "zapzap";
|
||||
rev = version;
|
||||
hash = "sha256-8IeFGTI+5kbeFGqH5DpHCY8pqzGhE48hPCEIKIe7jAM=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
# fixes that the tray icon was not installed
|
||||
(fetchpatch {
|
||||
url = "https://github.com/zapzap-linux/zapzap/pull/25/commits/4107b019555492e2c2692dd4c40553503047e6a8.patch";
|
||||
hash = "sha256-NQPGPXYFhVwsPXopEELG1n/f8yUj/74OFE1hTyt93Ng=";
|
||||
})
|
||||
];
|
||||
|
||||
nativeBuildInputs = with python3Packages; [
|
||||
setuptools
|
||||
qt6.wrapQtAppsHook
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
qt6.qtwayland
|
||||
qt6.qtsvg
|
||||
];
|
||||
|
||||
preBuild = ''
|
||||
export HOME=$(mktemp -d)
|
||||
'';
|
||||
|
||||
propagatedBuildInputs = with python3Packages; [
|
||||
dbus-python
|
||||
pyqt6
|
||||
pyqt6-webengine
|
||||
pyqt6-sip
|
||||
];
|
||||
|
||||
postInstall = ''
|
||||
install -Dm555 share/applications/com.rtosta.zapzap.desktop -t $out/share/applications/
|
||||
install -Dm555 share/icons/com.rtosta.zapzap.svg -t $out/share/icons/hicolor/scalable/
|
||||
'';
|
||||
|
||||
# has no tests
|
||||
doCheck = false;
|
||||
|
||||
meta = with lib; {
|
||||
description = "WhatsApp desktop application for Linux";
|
||||
homepage = "https://zapzap-linux.github.io/";
|
||||
mainProgram = "zapzap";
|
||||
license = licenses.gpl3Only;
|
||||
changelog = "https://github.com/zapzap-linux/zapzap/releases/tag/${version}";
|
||||
maintainers = [ maintainers.eymeric ];
|
||||
};
|
||||
}
|
57
pkgs/desktops/lomiri/data/suru-icon-theme/default.nix
Normal file
57
pkgs/desktops/lomiri/data/suru-icon-theme/default.nix
Normal file
|
@ -0,0 +1,57 @@
|
|||
{ stdenvNoCC
|
||||
, lib
|
||||
, fetchFromGitLab
|
||||
, gitUpdater
|
||||
, gtk3
|
||||
, hicolor-icon-theme
|
||||
, ubuntu-themes
|
||||
}:
|
||||
|
||||
stdenvNoCC.mkDerivation (finalAttrs: {
|
||||
pname = "suru-icon-theme";
|
||||
version = "20.05.1";
|
||||
|
||||
src = fetchFromGitLab {
|
||||
owner = "ubports";
|
||||
repo = "development/core/suru-icon-theme";
|
||||
rev = finalAttrs.version;
|
||||
hash = "sha256-jJ6J+SjSABZCgnCF9cIFBpeSXX2LMnV+nPLPpoXQv30=";
|
||||
};
|
||||
|
||||
strictDeps = true;
|
||||
|
||||
nativeBuildInputs = [
|
||||
gtk3 # gtk-update-icon-cache
|
||||
hicolor-icon-theme # theme setup hook
|
||||
];
|
||||
|
||||
propagatedBuildInputs = [
|
||||
ubuntu-themes
|
||||
];
|
||||
|
||||
dontConfigure = true;
|
||||
dontBuild = true;
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
|
||||
mkdir -p $out/share/icons
|
||||
cp -r suru $out/share/icons/
|
||||
|
||||
gtk-update-icon-cache $out/share/icons/suru
|
||||
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
dontDropIconThemeCache = true;
|
||||
|
||||
passthru.updateScript = gitUpdater { };
|
||||
|
||||
meta = with lib; {
|
||||
description = "Suru Icon Theme for Lomiri Operating Environment";
|
||||
homepage = "https://gitlab.com/ubports/development/core/suru-icon-theme";
|
||||
license = licenses.cc-by-sa-30;
|
||||
maintainers = teams.lomiri.members;
|
||||
platforms = platforms.all;
|
||||
};
|
||||
})
|
|
@ -9,6 +9,7 @@ let
|
|||
in {
|
||||
#### Data
|
||||
lomiri-schemas = callPackage ./data/lomiri-schemas { };
|
||||
suru-icon-theme = callPackage ./data/suru-icon-theme { };
|
||||
|
||||
#### Development tools / libraries
|
||||
cmake-extras = callPackage ./development/cmake-extras { };
|
||||
|
@ -21,6 +22,7 @@ let
|
|||
|
||||
#### QML / QML-related
|
||||
lomiri-settings-components = callPackage ./qml/lomiri-settings-components { };
|
||||
lomiri-ui-toolkit = callPackage ./qml/lomiri-ui-toolkit { };
|
||||
|
||||
#### Services
|
||||
biometryd = callPackage ./services/biometryd { };
|
||||
|
|
|
@ -0,0 +1,158 @@
|
|||
From 243477a2bd6e315c77ebaf5b2ed4a9c9c4e1e22a Mon Sep 17 00:00:00 2001
|
||||
From: OPNA2608 <christoph.neidahl@gmail.com>
|
||||
Date: Sat, 25 Nov 2023 10:49:32 +0100
|
||||
Subject: [PATCH] Mark problematic tests
|
||||
|
||||
- ShapeMaterial requires a Qt OpenGL context, doesn't work in our sandbox
|
||||
- SignalSpy on QML shaders compilers don't see changes
|
||||
- Scaling value from environment not picked up properly since Qt 5.15.11
|
||||
https://gitlab.com/ubports/development/core/lomiri-ui-toolkit/-/issues/34
|
||||
- TypeError on some properties with Qt 5.15
|
||||
https://gitlab.com/ubports/development/core/lomiri-ui-toolkit/-/issues/9
|
||||
---
|
||||
tests/checkresults.sh | 89 ++++++++++++++++++++++++++++++++++++++++---
|
||||
1 file changed, 83 insertions(+), 6 deletions(-)
|
||||
|
||||
diff --git a/tests/checkresults.sh b/tests/checkresults.sh
|
||||
index fc498985e..730b9d406 100755
|
||||
--- a/tests/checkresults.sh
|
||||
+++ b/tests/checkresults.sh
|
||||
@@ -22,6 +22,7 @@ ERRORS_PATTERN='<failure'
|
||||
|
||||
FAILURES=0
|
||||
FATAL_WARNINGS=0
|
||||
+EXCEPTED_FAILURES=0
|
||||
EXCEPTED=0
|
||||
for _XML in $*; do
|
||||
_TESTNAME=$(basename $_XML | sed -r 's@(.+)\.xml@\1@' -)
|
||||
@@ -31,7 +32,72 @@ for _XML in $*; do
|
||||
exit 1
|
||||
fi
|
||||
|
||||
- EXCEPTIONS='components_benchmark \
|
||||
+ ERROR_EXCEPTIONS='\
|
||||
+ tst_actionbar.13.qml \
|
||||
+ tst_actionlist.13.qml \
|
||||
+ tst_adaptivepagelayout.13.qml \
|
||||
+ tst_adaptivepagelayout_configuration.13.qml \
|
||||
+ tst_combobutton.11.qml \
|
||||
+ tst_combobutton.13.qml \
|
||||
+ tst_contextual_actions.13.qml \
|
||||
+ tst_focus.13.qml \
|
||||
+ tst_header.13.qml \
|
||||
+ tst_hide_chrome.11.qml \
|
||||
+ tst_listitem.12.qml \
|
||||
+ tst_listitem.13.qml \
|
||||
+ tst_listitem_actions_breaks_selectmode.12.qml \
|
||||
+ tst_listitem_extras.13.qml \
|
||||
+ tst_listitem_focus.13.qml \
|
||||
+ tst_listitem_horizontal_navigation.13.qml \
|
||||
+ tst_listitem_selectmode.12.qml \
|
||||
+ tst_listitem_selectmode.13.qml \
|
||||
+ tst_listitems_itemselector.11.qml \
|
||||
+ tst_listitems_standard.11.qml \
|
||||
+ tst_listitems_standard.13.qml \
|
||||
+ tst_lomirilistview.11.qml \
|
||||
+ tst_lomiritestcase.qml \
|
||||
+ tst_multicolumnheader.13.qml \
|
||||
+ tst_optionselector.11.qml \
|
||||
+ tst_optionselector.13.qml \
|
||||
+ tst_page_with_header.13.qml \
|
||||
+ tst_pagehead_back_action.13.qml \
|
||||
+ tst_pagehead_contents_width.13.qml \
|
||||
+ tst_pagehead_sections.13.qml \
|
||||
+ tst_pagehead_visible.13.qml \
|
||||
+ tst_pageheader.13.qml \
|
||||
+ tst_pagestack.13.qml \
|
||||
+ tst_pagestack.DEPRECATED_APPHEADER_TABS.13.qml \
|
||||
+ tst_picker.11.qml \
|
||||
+ tst_picker.13.qml \
|
||||
+ tst_popover.12.qml \
|
||||
+ tst_popover.13.qml \
|
||||
+ tst_popups_dialog.13.qml \
|
||||
+ tst_popups_pagestack.13.qml \
|
||||
+ tst_pulltorefresh_pagestack_topmargin.13.qml \
|
||||
+ tst_slider.11.qml \
|
||||
+ tst_slider.13.qml \
|
||||
+ tst_switch_bug1510919.13.qml \
|
||||
+ tst_tabs.11.qml \
|
||||
+ tst_tabs.13.qml \
|
||||
+ tst_tabs.DEPRECATED_TOOLBAR.11.qml \
|
||||
+ tst_textarea.11.qml \
|
||||
+ tst_textarea_in_flickable.11.qml \
|
||||
+ tst_textfield.11.qml \
|
||||
+ tst_textinput_common.12.qml \
|
||||
+ tst_textinput_common.13.qml \
|
||||
+ tst_toggles.13.qml \
|
||||
+ inversemousearea \
|
||||
+ layouts \
|
||||
+ recreateview \
|
||||
+ subtheming \
|
||||
+ swipearea \
|
||||
+ tst_icon.11.qml \
|
||||
+ tst_icon.13.qml \
|
||||
+ dpr1 \
|
||||
+ '
|
||||
+
|
||||
+ EXCEPTIONS='\
|
||||
+ components_benchmark \
|
||||
tst_tabbar.11.qml \
|
||||
tst_datepicker.bug1567840.SEGFAULT.12.qml \
|
||||
tst_datepicker.bug1567840.SEGFAULT.13.qml \
|
||||
@@ -49,22 +115,28 @@ for _XML in $*; do
|
||||
inversemousearea \
|
||||
tst_listitem_focus_bug.13.qml \
|
||||
tst_shortcuts.13.qml \
|
||||
+ tst_pagestack.DEPRECATED_TOOLBAR.11.qml \
|
||||
'
|
||||
|
||||
WARNINGS=$(grep -c -P "$WARNINGS_PATTERN" $_XML)
|
||||
ERRORS=$(grep -c -P "$ERRORS_PATTERN" $_XML)
|
||||
if [ $ERRORS -ne 0 ]; then
|
||||
- FAILURES_FILES="${FAILURES_FILES} ${_TESTNAME}\n"
|
||||
- ((FAILURES+=$ERRORS))
|
||||
+ if [[ $ERROR_EXCEPTIONS == *" $_TESTNAME "* ]]; then
|
||||
+ EXCEPTED_FAILURES_FILES="${EXCEPTED_FAILURES_FILES} ${_TESTNAME}\n"
|
||||
+ ((EXCEPTED_FAILURES+=$ERRORS))
|
||||
+ else
|
||||
+ FAILURES_FILES="${FAILURES_FILES} ${_TESTNAME}\n"
|
||||
+ ((FAILURES+=$ERRORS))
|
||||
+ fi
|
||||
elif [ $WARNINGS -ne 0 ]; then
|
||||
- if [[ $EXCEPTIONS == *$_TESTNAME* ]]; then
|
||||
+ if [[ $EXCEPTIONS == *" $_TESTNAME "* ]]; then
|
||||
EXCEPTED_FILES="${EXCEPTED_FILES} ${_TESTNAME}\n"
|
||||
((EXCEPTED+=$WARNINGS))
|
||||
else
|
||||
FATAL_WARNINGS_FILES="${FATAL_WARNINGS_FILES} ${_TESTNAME}\n"
|
||||
((FATAL_WARNINGS+=$WARNINGS))
|
||||
fi
|
||||
- elif [[ $EXCEPTIONS == *$_TESTNAME* ]]; then
|
||||
+ elif [[ $ERROR_EXCEPTIONS == *" $_TESTNAME "* || $EXCEPTIONS == *" $_TESTNAME "* ]]; then
|
||||
WOOT_FILES="${WOOT_FILES} ${_TESTNAME}\n"
|
||||
fi
|
||||
done
|
||||
@@ -82,6 +154,11 @@ if [ -n "$FATAL_WARNINGS_FILES" ]; then
|
||||
echo -e "$FATAL_WARNINGS_FILES"
|
||||
fi
|
||||
|
||||
+if [ -n "$EXCEPTED_FAILURES_FILES" ]; then
|
||||
+ echo The following tests issued $EXCEPTED_FAILURES expected failures:
|
||||
+ echo -e "$EXCEPTED_FAILURES_FILES"
|
||||
+fi
|
||||
+
|
||||
if [ -n "$EXCEPTED_FILES" ]; then
|
||||
echo The following tests issued $EXCEPTED expected warnings:
|
||||
echo -e "$EXCEPTED_FILES"
|
||||
@@ -89,7 +166,7 @@ fi
|
||||
|
||||
if [ -n "$WOOT_FILES" ]; then
|
||||
echo Woot! Known problematic tests passed!
|
||||
- echo Consider removing these from EXCEPTIONS in ${0#$(pwd)/}!
|
||||
+ echo Consider removing these from ERROR_EXCEPTIONS/EXCEPTIONS in ${0#$(pwd)/}!
|
||||
echo -e "$WOOT_FILES"
|
||||
fi
|
||||
|
||||
--
|
||||
2.40.1
|
||||
|
254
pkgs/desktops/lomiri/qml/lomiri-ui-toolkit/default.nix
Normal file
254
pkgs/desktops/lomiri/qml/lomiri-ui-toolkit/default.nix
Normal file
|
@ -0,0 +1,254 @@
|
|||
{ stdenv
|
||||
, lib
|
||||
, fetchFromGitLab
|
||||
, fetchpatch
|
||||
, gitUpdater
|
||||
, testers
|
||||
, dbus-test-runner
|
||||
, dpkg
|
||||
, gdb
|
||||
, glib
|
||||
, lttng-ust
|
||||
, perl
|
||||
, pkg-config
|
||||
, python3
|
||||
, qmake
|
||||
, qtbase
|
||||
, qtdeclarative
|
||||
, qtfeedback
|
||||
, qtgraphicaleffects
|
||||
, qtpim
|
||||
, qtquickcontrols2
|
||||
, qtsvg
|
||||
, qtsystems
|
||||
, suru-icon-theme
|
||||
, wrapQtAppsHook
|
||||
, xvfb-run
|
||||
}:
|
||||
|
||||
let
|
||||
listToQtVar = suffix: lib.makeSearchPathOutput "bin" suffix;
|
||||
qtPluginPaths = listToQtVar qtbase.qtPluginPrefix [ qtbase qtpim qtsvg ];
|
||||
qtQmlPaths = listToQtVar qtbase.qtQmlPrefix [ qtdeclarative qtfeedback qtgraphicaleffects ];
|
||||
in
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "lomiri-ui-toolkit";
|
||||
version = "1.3.5011";
|
||||
|
||||
src = fetchFromGitLab {
|
||||
owner = "ubports";
|
||||
repo = "development/core/lomiri-ui-toolkit";
|
||||
rev = finalAttrs.version;
|
||||
hash = "sha256-z/EEmC9LjQtBx5MRDLeImxpRrzH4w6v6o+NmqX+L4dw=";
|
||||
};
|
||||
|
||||
outputs = [ "out" "dev" ];
|
||||
|
||||
patches = [
|
||||
# Upstreaming effort for these two patches: https://gitlab.com/ubports/development/core/lomiri-ui-toolkit/-/merge_requests/44
|
||||
(fetchpatch {
|
||||
name = "0001-lomiri-ui-toolkit-fix-tests-on-qt-5.15.4.patch";
|
||||
url = "https://salsa.debian.org/ubports-team/lomiri-ui-toolkit/-/raw/1ad650c326ba9706d549d1dbe8335c70f6b382c8/debian/patches/0001-fix-tests-on-qt-5.15.4.patch";
|
||||
hash = "sha256-Y5HVvulR2760DBzlmYkImbJ/qIeqMISqPpUppbv8xJA=";
|
||||
})
|
||||
(fetchpatch {
|
||||
name = "0002-lomiri-ui-toolkit-fix-tests-on-qt-5.15.5.patch";
|
||||
url = "https://salsa.debian.org/ubports-team/lomiri-ui-toolkit/-/raw/03bcafadd3e4fda34bcb5af23454f4b202cf5517/debian/patches/0002-fix-tests-on-qt-5.15.5.patch";
|
||||
hash = "sha256-x8Zk7+VBSlM16a3V1yxJqIB63796H0lsS+F4dvR/z80=";
|
||||
})
|
||||
|
||||
# Small fixes to statesaver & tst_imageprovider.11.qml tests
|
||||
# Remove when version > 1.3.5011
|
||||
(fetchpatch {
|
||||
name = "0003-lomiri-ui-toolkit-tests-Minor-fixes.patch";
|
||||
url = "https://gitlab.com/ubports/development/core/lomiri-ui-toolkit/-/commit/a8324d670b813a48ac7d48aa0bc013773047a01d.patch";
|
||||
hash = "sha256-W6q3LuQqWmUVSBzORcJsTPoLfbWwytABMDR6JITHrDI=";
|
||||
})
|
||||
|
||||
# Fix Qt 5.15.11 compatibility
|
||||
# Remove when version > 1.3.5011
|
||||
(fetchpatch {
|
||||
name = "0004-lomiri-ui-toolkit-Fix-compilation-with-Qt-5.15.11.patch";
|
||||
url = "https://gitlab.com/ubports/development/core/lomiri-ui-toolkit/-/commit/4f999077dc6bc5591bdfede64fd21cb3acdcaac1.patch";
|
||||
hash = "sha256-5VCQFOykxgspNBxH94XYuBpdHsH9a3+8FwV6xQE55Xc=";
|
||||
})
|
||||
|
||||
./2001-Mark-problematic-tests.patch
|
||||
];
|
||||
|
||||
postPatch = ''
|
||||
patchShebangs documentation/docs.sh tests/
|
||||
|
||||
substituteInPlace tests/tests.pro \
|
||||
--replace "\''$\''$PYTHONDIR" "$dev/${python3.sitePackages}"
|
||||
|
||||
for subproject in po app-launch-profiler lomiri-ui-toolkit-launcher; do
|
||||
substituteInPlace $subproject/$subproject.pro \
|
||||
--replace "\''$\''$[QT_INSTALL_PREFIX]" "$out" \
|
||||
--replace "\''$\''$[QT_INSTALL_LIBS]" "$out/lib"
|
||||
done
|
||||
|
||||
# Install apicheck tool into bin
|
||||
substituteInPlace apicheck/apicheck.pro \
|
||||
--replace "\''$\''$[QT_INSTALL_LIBS]/lomiri-ui-toolkit" "$out/bin"
|
||||
|
||||
# Causes redefinition error with our own fortify hardening
|
||||
sed -i '/DEFINES += _FORTIFY_SOURCE/d' features/lomiri_common.prf
|
||||
|
||||
# Reverse dependencies (and their reverse dependencies too) access the function patched here to register their gettext catalogues,
|
||||
# so hardcoding any prefix here will make only catalogues in that prefix work. APP_DIR envvar will override this, but with domains from multiple derivations being
|
||||
# used in a single application (lomiri-system-settings), that's of not much use either.
|
||||
# https://gitlab.com/ubports/development/core/lomiri-ui-toolkit/-/blob/dcb3a523c56a400e5c3c163c2836cafca168767e/src/LomiriToolkit/i18n.cpp#L101-129
|
||||
#
|
||||
# This could be solved with a reference to the prefix of whoever requests the domain, but the call happens via some automatic Qt / QML callback magic,
|
||||
# I'm not sure what the best way of injecting that there would be.
|
||||
# https://gitlab.com/ubports/development/core/lomiri-ui-toolkit/-/blob/dcb3a523c56a400e5c3c163c2836cafca168767e/src/LomiriToolkit/i18n_p.h#L34
|
||||
#
|
||||
# Using /run/current-system/sw/share/locale instead of /usr/share/locale isn't a great
|
||||
# solution, but at least it should get us working localisations
|
||||
substituteInPlace src/LomiriToolkit/i18n.cpp \
|
||||
--replace "/usr" "/run/current-system/sw"
|
||||
|
||||
# The code here overrides the regular QML import variables so the just-built modules are found & used in the tests
|
||||
# But we need their QML dependencies too, so put them back in there
|
||||
substituteInPlace export_qml_dir.sh \
|
||||
--replace '_IMPORT_PATH=$BUILD_DIR/qml' '_IMPORT_PATH=$BUILD_DIR/qml:${qtQmlPaths}'
|
||||
|
||||
# These tests try to load Suru theme icons, but override XDG_DATA_DIRS / use full paths to load them
|
||||
substituteInPlace \
|
||||
tests/unit/visual/tst_visual.cpp \
|
||||
tests/unit/visual/tst_icon.{11,13}.qml \
|
||||
tests/unit/visual/tst_imageprovider.11.qml \
|
||||
--replace '/usr/share' '${suru-icon-theme}/share'
|
||||
'';
|
||||
|
||||
# With strictDeps, QMake only picks up Qt dependencies from nativeBuildInputs
|
||||
strictDeps = false;
|
||||
|
||||
nativeBuildInputs = [
|
||||
perl
|
||||
pkg-config
|
||||
python3
|
||||
qmake
|
||||
wrapQtAppsHook
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
glib
|
||||
lttng-ust
|
||||
qtbase
|
||||
qtdeclarative
|
||||
qtpim
|
||||
qtquickcontrols2
|
||||
qtsystems
|
||||
];
|
||||
|
||||
propagatedBuildInputs = [
|
||||
qtfeedback
|
||||
qtgraphicaleffects
|
||||
qtsvg
|
||||
];
|
||||
|
||||
nativeCheckInputs = [
|
||||
dbus-test-runner
|
||||
dpkg # `dpkg-architecture -qDEB_HOST_ARCH` response decides how tests are run
|
||||
gdb
|
||||
xvfb-run
|
||||
];
|
||||
|
||||
qmakeFlags = [
|
||||
# docs require Qt5's qdoc, which we don't have before https://github.com/NixOS/nixpkgs/pull/245379
|
||||
"CONFIG+=no_docs"
|
||||
# Ubuntu UITK compatibility, for older / not-yet-migrated applications
|
||||
"CONFIG+=ubuntu-uitk-compat"
|
||||
"QMAKE_PKGCONFIG_PREFIX=${placeholder "out"}"
|
||||
];
|
||||
|
||||
doCheck = stdenv.buildPlatform.canExecute stdenv.hostPlatform;
|
||||
|
||||
# Explicitly not parallel-safe, large parts are always run in series and at least qquick_image_extension fails with parallelism
|
||||
enableParallelChecking = false;
|
||||
|
||||
checkPhase = ''
|
||||
runHook preCheck
|
||||
|
||||
export HOME=$PWD
|
||||
|
||||
# XDG_RUNTIME_DIR with wrong permissions causes warnings that are interpreted as errors in the test suite
|
||||
export XDG_RUNTIME_DIR=$PWD/runtime-dir
|
||||
mkdir -p $XDG_RUNTIME_DIR
|
||||
chmod -R 700 $XDG_RUNTIME_DIR
|
||||
|
||||
# Tests need some Qt plugins
|
||||
# Many tests try to load Suru theme icons via XDG_DATA_DIRS
|
||||
export QT_PLUGIN_PATH=${qtPluginPaths}
|
||||
export XDG_DATA_DIRS=${suru-icon-theme}/share
|
||||
|
||||
tests/xvfb.sh make check ''${enableParallelChecking:+-j''${NIX_BUILD_CORES}}
|
||||
|
||||
runHook postCheck
|
||||
'';
|
||||
|
||||
preInstall = ''
|
||||
# wrapper script calls qmlplugindump, crashes due to lack of minimal platform plugin
|
||||
# Could not find the Qt platform plugin "minimal" in ""
|
||||
# Available platform plugins are: wayland-egl, wayland, wayland-xcomposite-egl, wayland-xcomposite-glx.
|
||||
export QT_PLUGIN_PATH=${qtPluginPaths}
|
||||
|
||||
# Qt-generated wrapper script lacks QML paths to dependencies
|
||||
for qmlModule in Components PerformanceMetrics Test; do
|
||||
substituteInPlace src/imports/$qmlModule/wrapper.sh \
|
||||
--replace 'QML2_IMPORT_PATH=' 'QML2_IMPORT_PATH=${qtQmlPaths}:'
|
||||
done
|
||||
'';
|
||||
|
||||
postInstall = ''
|
||||
# Code loads Qt's qt_module.prf, which force-overrides all QMAKE_PKGCONFIG_* variables except PREFIX for QMake-generated pkg-config files
|
||||
for pcFile in Lomiri{Gestures,Metrics,Toolkit}.pc; do
|
||||
substituteInPlace $out/lib/pkgconfig/$pcFile \
|
||||
--replace "${lib.getLib qtbase}/lib" "\''${prefix}/lib" \
|
||||
--replace "${lib.getDev qtbase}/include" "\''${prefix}/include"
|
||||
done
|
||||
|
||||
# These are all dev-related tools, but declaring a bin output also moves around the QML modules
|
||||
moveToOutput "bin" "$dev"
|
||||
'';
|
||||
|
||||
postFixup = ''
|
||||
for qtBin in $dev/bin/{apicheck,lomiri-ui-toolkit-launcher}; do
|
||||
wrapQtApp $qtBin
|
||||
done
|
||||
'';
|
||||
|
||||
passthru = {
|
||||
tests.pkg-config = testers.testMetaPkgConfig finalAttrs.finalPackage;
|
||||
updateScript = gitUpdater { };
|
||||
};
|
||||
|
||||
meta = with lib; {
|
||||
description = "QML components to ease the creation of beautiful applications in QML";
|
||||
longDescription = ''
|
||||
This project consists of a set of QML components to ease the creation of beautiful applications in QML for Lomiri.
|
||||
|
||||
QML alone lacks built-in components for basic widgets like Button, Slider, Scrollbar, etc, meaning a developer has
|
||||
to build them from scratch.
|
||||
This toolkit aims to stop this duplication of work, supplying beautiful components ready-made and with a clear and
|
||||
consistent API.
|
||||
|
||||
These components are fully themeable so the look and feel can be easily customized. Resolution independence
|
||||
technology is built in so UIs are scaled to best suit the display.
|
||||
|
||||
Other features:
|
||||
- localisation through gettext
|
||||
'';
|
||||
homepage = "https://gitlab.com/ubports/development/core/lomiri-ui-toolkit";
|
||||
license = with licenses; [ gpl3Only cc-by-sa-30 ];
|
||||
maintainers = teams.lomiri.members;
|
||||
platforms = platforms.linux;
|
||||
pkgConfigModules = [
|
||||
"LomiriGestures"
|
||||
"LomiriMetrics"
|
||||
"LomiriToolkit"
|
||||
];
|
||||
};
|
||||
})
|
|
@ -88,7 +88,7 @@ in stdenv.mkDerivation (finalAttrs: {
|
|||
|
||||
enableParallelBuilding = true;
|
||||
nativeBuildInputs = [ pkg-config bison flex ];
|
||||
buildInputs = [
|
||||
propagatedBuildInputs = [
|
||||
tcl
|
||||
readline
|
||||
libffi
|
||||
|
|
|
@ -7,13 +7,13 @@
|
|||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "zig-shell-completions";
|
||||
version = "unstable-2023-08-17";
|
||||
version = "unstable-2023-11-18";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "ziglang";
|
||||
repo = "shell-completions";
|
||||
rev = "de9f83166d792cce6a0524e63d2755952dd9872c";
|
||||
hash = "sha256-92n41/AWbHYkXiBtbWw+hXZKJCE7KW9igd8cLSBQfHo=";
|
||||
rev = "31d3ad12890371bf467ef7143f5c2f31cfa7b7c1";
|
||||
hash = "sha256-ID/K0vdg7BTKGgozISk/X4RBxCVfhSkVD6GSZUoP9Ls=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ installShellFiles ];
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
{ lib, stdenv, fetchFromGitHub, cmake }:
|
||||
{ lib, stdenv, fetchFromGitHub, fetchpatch, cmake }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "bpp-core";
|
||||
|
@ -10,6 +10,13 @@ stdenv.mkDerivation rec {
|
|||
sha256 = "0ma2cl677l7s0n5sffh66cy9lxp5wycm50f121g8rx85p95vkgwv";
|
||||
};
|
||||
|
||||
patches = [
|
||||
(fetchpatch {
|
||||
url = "https://github.com/BioPP/bpp-core/commit/d450e8033b06e80dff9c2236fb7ce1f3ced5dcbb.patch";
|
||||
hash = "sha256-9t68mrK7KNs5BxljKMaA+XskCcKDNv8DNCVUYunoNdw=";
|
||||
})
|
||||
];
|
||||
|
||||
nativeBuildInputs = [ cmake ];
|
||||
|
||||
postFixup = ''
|
||||
|
|
|
@ -11,7 +11,7 @@
|
|||
|
||||
buildPythonPackage rec {
|
||||
pname = "aiocomelit";
|
||||
version = "0.6.0";
|
||||
version = "0.6.2";
|
||||
format = "pyproject";
|
||||
|
||||
disabled = pythonOlder "3.10";
|
||||
|
@ -20,7 +20,7 @@ buildPythonPackage rec {
|
|||
owner = "chemelli74";
|
||||
repo = "aiocomelit";
|
||||
rev = "refs/tags/v${version}";
|
||||
hash = "sha256-bs+iSe4vu0ej4SQww6mvQqboVKfQrkd9OirBLGbU3gs=";
|
||||
hash = "sha256-Pqds4RwDxaUyZUIGTK0JOjsKbyB7j3uOfunbLXsKANk=";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
|
|
|
@ -22,7 +22,7 @@
|
|||
|
||||
buildPythonPackage rec {
|
||||
pname = "aioesphomeapi";
|
||||
version = "18.5.2";
|
||||
version = "19.2.1";
|
||||
pyproject = true;
|
||||
|
||||
disabled = pythonOlder "3.9";
|
||||
|
@ -31,7 +31,7 @@ buildPythonPackage rec {
|
|||
owner = "esphome";
|
||||
repo = pname;
|
||||
rev = "refs/tags/v${version}";
|
||||
hash = "sha256-kj4FHsNsGsMxK+EI1jgqBfvldkyAoBkCTGT1yiZMmzY=";
|
||||
hash = "sha256-WSWGO0kI1m6oaImUYZ6m5WKJ+xPs/rtn5wVq1bDr+bE=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
|
|
@ -60,6 +60,17 @@ buildPythonPackage rec {
|
|||
"tests/test_ip_pairing.py"
|
||||
];
|
||||
|
||||
disabledTests = [
|
||||
# AttributeError: 'MockedAsyncServiceInfo' object has no attribute '_set_properties'
|
||||
"test_discover_find_one_unpaired"
|
||||
"test_find_device_id_case_lower"
|
||||
"test_find_device_id_case_upper"
|
||||
"test_discover_missing_csharp"
|
||||
"test_discover_csharp_case"
|
||||
"test_discover_device_id_case_lower"
|
||||
"test_discover_device_id_case_upper"
|
||||
];
|
||||
|
||||
pythonImportsCheck = [
|
||||
"aiohomekit"
|
||||
];
|
||||
|
|
39
pkgs/development/python-modules/aiohttp-zlib-ng/default.nix
Normal file
39
pkgs/development/python-modules/aiohttp-zlib-ng/default.nix
Normal file
|
@ -0,0 +1,39 @@
|
|||
{ lib
|
||||
, buildPythonPackage
|
||||
, fetchFromGitHub
|
||||
, poetry-core
|
||||
, aiohttp
|
||||
, zlib-ng
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "aiohttp-zlib-ng";
|
||||
version = "0.1.1";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "bdraco";
|
||||
repo = "aiohttp-zlib-ng";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-dTNwt4eX6ZQ8ySK2/9ziVbc3KFg2aL/EsiBWaJRC4x8=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
poetry-core
|
||||
];
|
||||
|
||||
propagatedBuildInputs = [
|
||||
aiohttp
|
||||
zlib-ng
|
||||
];
|
||||
|
||||
pythonImportsCheck = [ "aiohttp_zlib_ng" ];
|
||||
|
||||
meta = with lib; {
|
||||
description = "Enable zlib_ng on aiohttp";
|
||||
homepage = "https://github.com/bdraco/aiohttp-zlib-ng";
|
||||
changelog = "https://github.com/bdraco/aiohttp-zlib-ng/blob/${src.rev}/CHANGELOG.md";
|
||||
license = licenses.asl20;
|
||||
maintainers = with maintainers; [ ];
|
||||
};
|
||||
}
|
|
@ -13,7 +13,7 @@
|
|||
|
||||
buildPythonPackage rec {
|
||||
pname = "aiowithings";
|
||||
version = "1.0.3";
|
||||
version = "2.0.0";
|
||||
pyproject = true;
|
||||
|
||||
disabled = pythonOlder "3.11";
|
||||
|
@ -22,7 +22,7 @@ buildPythonPackage rec {
|
|||
owner = "joostlek";
|
||||
repo = "python-withings";
|
||||
rev = "refs/tags/v${version}";
|
||||
hash = "sha256-n76bpFIWUfztTDEg32uopxukAtvFT3tdbtqWOLghi4I=";
|
||||
hash = "sha256-wVLoM1Lq1fchyjOOmn+6wVzEAra8x2uK6qaiocVqzmw=";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
|
|
|
@ -3,13 +3,14 @@
|
|||
, fetchFromGitHub
|
||||
, poetry-core
|
||||
, aiohttp
|
||||
, aiohttp-retry
|
||||
, pythonOlder
|
||||
, pyjwt
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "apple-weatherkit";
|
||||
version = "1.0.4";
|
||||
version = "1.1.2";
|
||||
format = "pyproject";
|
||||
|
||||
disabled = pythonOlder "3.11";
|
||||
|
@ -18,7 +19,7 @@ buildPythonPackage rec {
|
|||
owner = "tjhorner";
|
||||
repo = "python-weatherkit";
|
||||
rev = "refs/tags/v${version}";
|
||||
hash = "sha256-G/0hyK2rjdSSnVnvAUGyDvsfNMHVgAD7NHfNFmdBCNA=";
|
||||
hash = "sha256-w3KinicaF01I6fIidI7XYHpB8eq52RTUw/BMLrx6Grk=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
@ -27,6 +28,7 @@ buildPythonPackage rec {
|
|||
|
||||
propagatedBuildInputs = [
|
||||
aiohttp
|
||||
aiohttp-retry
|
||||
pyjwt
|
||||
] ++ pyjwt.optional-dependencies.crypto;
|
||||
|
||||
|
|
|
@ -12,14 +12,14 @@
|
|||
|
||||
buildPythonPackage rec {
|
||||
pname = "bandit";
|
||||
version = "1.7.5";
|
||||
version = "1.7.6";
|
||||
format = "setuptools";
|
||||
|
||||
disabled = pythonOlder "3.7";
|
||||
disabled = pythonOlder "3.8";
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
hash = "sha256-vfxzm6oDuIDC0V0EMbMcZY/8NI6Qf+GX5U4Did1Z4R4=";
|
||||
hash = "sha256-cs57yXQTdNlvsvHJqJYIKYhfEkP/3nQ95woZzuNT6PM=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
|
|
@ -9,14 +9,15 @@
|
|||
, pytest-timeout
|
||||
, pytestCheckHook
|
||||
, pythonOlder
|
||||
, setuptools
|
||||
, voluptuous
|
||||
, zigpy
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "bellows";
|
||||
version = "0.36.8";
|
||||
format = "setuptools";
|
||||
version = "0.37.1";
|
||||
pyproject = true;
|
||||
|
||||
disabled = pythonOlder "3.8";
|
||||
|
||||
|
@ -24,9 +25,19 @@ buildPythonPackage rec {
|
|||
owner = "zigpy";
|
||||
repo = "bellows";
|
||||
rev = "refs/tags/${version}";
|
||||
hash = "sha256-+p3As+fi6mw9i5q2klFTM9QQ2JoQarwrphc6tB6C94M=";
|
||||
hash = "sha256-JkaCM9XOdGZE9/C2BUV3g9QL5+k/HlVYd4WsAMS2mgk=";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
substituteInPlace pyproject.toml \
|
||||
--replace '"setuptools-git-versioning<2"' "" \
|
||||
--replace 'dynamic = ["version"]' 'version = "${version}"'
|
||||
'';
|
||||
|
||||
nativeBuildInputs = [
|
||||
setuptools
|
||||
];
|
||||
|
||||
propagatedBuildInputs = [
|
||||
click
|
||||
click-log
|
||||
|
|
|
@ -11,14 +11,15 @@
|
|||
, pytestCheckHook
|
||||
, python
|
||||
, respx
|
||||
, setuptools
|
||||
, time-machine
|
||||
, tzdata
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "bimmer-connected";
|
||||
version = "0.14.3";
|
||||
format = "setuptools";
|
||||
version = "0.14.6";
|
||||
pyproject = true;
|
||||
|
||||
disabled = pythonOlder "3.6";
|
||||
|
||||
|
@ -26,22 +27,28 @@ buildPythonPackage rec {
|
|||
owner = "bimmerconnected";
|
||||
repo = "bimmer_connected";
|
||||
rev = "refs/tags/${version}";
|
||||
hash = "sha256-I/MKjdEu69uis5f/Xuk4H6ynC71IQmfASLr07PdEBXE=";
|
||||
hash = "sha256-/FL9czp5x/BcKSXXzT19kgGiPFd61BpU7HLtgyyHlIs=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
pbr
|
||||
setuptools
|
||||
];
|
||||
|
||||
PBR_VERSION = version;
|
||||
|
||||
propagatedBuildInputs = [
|
||||
httpx
|
||||
pillow
|
||||
pycryptodome
|
||||
pyjwt
|
||||
];
|
||||
|
||||
passthru.optional-dependencies = {
|
||||
china = [
|
||||
pillow
|
||||
];
|
||||
};
|
||||
|
||||
postInstall = ''
|
||||
cp -R bimmer_connected/tests/responses $out/${python.sitePackages}/bimmer_connected/tests/
|
||||
'';
|
||||
|
@ -51,7 +58,7 @@ buildPythonPackage rec {
|
|||
pytestCheckHook
|
||||
respx
|
||||
time-machine
|
||||
];
|
||||
] ++ lib.flatten (lib.attrValues passthru.optional-dependencies);
|
||||
|
||||
preCheck = ''
|
||||
export TZDIR=${tzdata}/${python.sitePackages}/tzdata/zoneinfo
|
||||
|
|
153
pkgs/development/python-modules/diffusers/default.nix
Normal file
153
pkgs/development/python-modules/diffusers/default.nix
Normal file
|
@ -0,0 +1,153 @@
|
|||
{ lib
|
||||
, stdenv
|
||||
, buildPythonPackage
|
||||
, fetchFromGitHub
|
||||
, pythonOlder
|
||||
, writeText
|
||||
, setuptools
|
||||
, wheel
|
||||
, filelock
|
||||
, huggingface-hub
|
||||
, importlib-metadata
|
||||
, numpy
|
||||
, pillow
|
||||
, regex
|
||||
, requests
|
||||
, safetensors
|
||||
# optional dependencies
|
||||
, accelerate
|
||||
, datasets
|
||||
, flax
|
||||
, jax
|
||||
, jaxlib
|
||||
, jinja2
|
||||
, protobuf
|
||||
, tensorboard
|
||||
, torch
|
||||
# test dependencies
|
||||
, parameterized
|
||||
, pytest-timeout
|
||||
, pytest-xdist
|
||||
, pytestCheckHook
|
||||
, requests-mock
|
||||
, ruff
|
||||
, scipy
|
||||
, sentencepiece
|
||||
, torchsde
|
||||
, transformers
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "diffusers";
|
||||
version = "0.24.0";
|
||||
pyproject = true;
|
||||
|
||||
disabled = pythonOlder "3.8";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "huggingface";
|
||||
repo = "diffusers";
|
||||
rev = "refs/tags/v${version}";
|
||||
hash = "sha256-ccWF8hQzPhFY/kqRum2tbanI+cQiT25MmvPZN+hGadc=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
setuptools
|
||||
wheel
|
||||
];
|
||||
|
||||
propagatedBuildInputs = [
|
||||
filelock
|
||||
huggingface-hub
|
||||
importlib-metadata
|
||||
numpy
|
||||
pillow
|
||||
regex
|
||||
requests
|
||||
safetensors
|
||||
];
|
||||
|
||||
passthru.optional-dependencies = {
|
||||
flax = [
|
||||
flax
|
||||
jax
|
||||
jaxlib
|
||||
];
|
||||
torch = [
|
||||
accelerate
|
||||
torch
|
||||
];
|
||||
training = [
|
||||
accelerate
|
||||
datasets
|
||||
jinja2
|
||||
protobuf
|
||||
tensorboard
|
||||
];
|
||||
};
|
||||
|
||||
pythonImportsCheck = [
|
||||
"diffusers"
|
||||
];
|
||||
|
||||
# tests crash due to torch segmentation fault
|
||||
doCheck = !(stdenv.isLinux && stdenv.isAarch64);
|
||||
|
||||
nativeCheckInputs = [
|
||||
parameterized
|
||||
pytest-timeout
|
||||
pytest-xdist
|
||||
pytestCheckHook
|
||||
requests-mock
|
||||
ruff
|
||||
scipy
|
||||
sentencepiece
|
||||
torchsde
|
||||
transformers
|
||||
] ++ passthru.optional-dependencies.torch;
|
||||
|
||||
preCheck = let
|
||||
# This pytest hook mocks and catches attempts at accessing the network
|
||||
# tests that try to access the network will raise, get caught, be marked as skipped and tagged as xfailed.
|
||||
# cf. python3Packages.shap
|
||||
conftestSkipNetworkErrors = writeText "conftest.py" ''
|
||||
from _pytest.runner import pytest_runtest_makereport as orig_pytest_runtest_makereport
|
||||
import urllib3
|
||||
|
||||
class NetworkAccessDeniedError(RuntimeError): pass
|
||||
def deny_network_access(*a, **kw):
|
||||
raise NetworkAccessDeniedError
|
||||
|
||||
urllib3.connection.HTTPSConnection._new_conn = deny_network_access
|
||||
|
||||
def pytest_runtest_makereport(item, call):
|
||||
tr = orig_pytest_runtest_makereport(item, call)
|
||||
if call.excinfo is not None and call.excinfo.type is NetworkAccessDeniedError:
|
||||
tr.outcome = 'skipped'
|
||||
tr.wasxfail = "reason: Requires network access."
|
||||
return tr
|
||||
'';
|
||||
in ''
|
||||
export HOME=$TMPDIR
|
||||
cat ${conftestSkipNetworkErrors} >> tests/conftest.py
|
||||
'';
|
||||
|
||||
pytestFlagsArray = [
|
||||
"tests/"
|
||||
];
|
||||
|
||||
disabledTests = [
|
||||
# depends on current working directory
|
||||
"test_deprecate_stacklevel"
|
||||
# fails due to precision of floating point numbers
|
||||
"test_model_cpu_offload_forward_pass"
|
||||
];
|
||||
|
||||
meta = with lib; {
|
||||
description = "State-of-the-art diffusion models for image and audio generation in PyTorch";
|
||||
homepage = "https://github.com/huggingface/diffusers";
|
||||
changelog = "https://github.com/huggingface/diffusers/releases/tag/${src.rev}";
|
||||
license = licenses.asl20;
|
||||
maintainers = with maintainers; [ natsukium ];
|
||||
};
|
||||
}
|
|
@ -3,8 +3,9 @@
|
|||
, aresponses
|
||||
, buildPythonPackage
|
||||
, fetchFromGitHub
|
||||
, mashumaro
|
||||
, orjson
|
||||
, poetry-core
|
||||
, pydantic
|
||||
, pytest-asyncio
|
||||
, pytestCheckHook
|
||||
, pythonOlder
|
||||
|
@ -13,7 +14,7 @@
|
|||
|
||||
buildPythonPackage rec {
|
||||
pname = "elgato";
|
||||
version = "5.0.0";
|
||||
version = "5.1.1";
|
||||
format = "pyproject";
|
||||
|
||||
disabled = pythonOlder "3.11";
|
||||
|
@ -22,7 +23,7 @@ buildPythonPackage rec {
|
|||
owner = "frenck";
|
||||
repo = "python-elgato";
|
||||
rev = "refs/tags/v${version}";
|
||||
hash = "sha256-TI5wu2FYVUMvgDkbktcwPLnTSD8XUSy8qwOCdrsiopk=";
|
||||
hash = "sha256-g0po3BtY2uiOmuyWVA+o08c3I86SE4zmvo1ps8HpNNw=";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
|
@ -38,7 +39,8 @@ buildPythonPackage rec {
|
|||
|
||||
propagatedBuildInputs = [
|
||||
aiohttp
|
||||
pydantic
|
||||
mashumaro
|
||||
orjson
|
||||
yarl
|
||||
];
|
||||
|
||||
|
|
|
@ -0,0 +1,84 @@
|
|||
{ lib
|
||||
, buildPythonPackage
|
||||
, fetchFromGitHub
|
||||
|
||||
# build-system
|
||||
, poetry-core
|
||||
|
||||
# dependencies
|
||||
, cryptography
|
||||
, http-ece
|
||||
, protobuf
|
||||
, requests
|
||||
|
||||
# docs
|
||||
, sphinx
|
||||
, sphinxHook
|
||||
, sphinx-autodoc-typehints
|
||||
, sphinx-rtd-theme
|
||||
|
||||
# tests
|
||||
, async-timeout
|
||||
, requests-mock
|
||||
, pytest-asyncio
|
||||
, pytest-mock
|
||||
, pytestCheckHook
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "firebase-messaging";
|
||||
version = "0.2.0";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "sdb9696";
|
||||
repo = "firebase-messaging";
|
||||
rev = version;
|
||||
hash = "sha256-e3Ny3pnAfOpNERvvtE/jqSDIsM+YwLq/hbw753QpJ6o=";
|
||||
};
|
||||
|
||||
outputs = [
|
||||
"out"
|
||||
"doc"
|
||||
];
|
||||
|
||||
nativeBuildInputs = [
|
||||
poetry-core
|
||||
sphinxHook
|
||||
] ++ passthru.optional-dependencies.docs;
|
||||
|
||||
propagatedBuildInputs = [
|
||||
cryptography
|
||||
http-ece
|
||||
protobuf
|
||||
requests
|
||||
];
|
||||
|
||||
passthru.optional-dependencies = {
|
||||
docs = [
|
||||
sphinx
|
||||
sphinx-autodoc-typehints
|
||||
sphinx-rtd-theme
|
||||
];
|
||||
};
|
||||
|
||||
pythonImportsCheck = [
|
||||
"firebase_messaging"
|
||||
];
|
||||
|
||||
nativeCheckInputs = [
|
||||
async-timeout
|
||||
requests-mock
|
||||
pytest-asyncio
|
||||
pytest-mock
|
||||
pytestCheckHook
|
||||
];
|
||||
|
||||
meta = with lib; {
|
||||
description = "A library to subscribe to GCM/FCM and receive notifications within a python application";
|
||||
homepage = "https://github.com/sdb9696/firebase-messaging";
|
||||
changelog = "https://github.com/sdb9696/firebase-messaging/blob/${src.rev}/CHANGELOG.rst";
|
||||
license = licenses.mit;
|
||||
maintainers = with maintainers; [ ];
|
||||
};
|
||||
}
|
|
@ -2,6 +2,10 @@
|
|||
, buildPythonPackage
|
||||
, fetchFromGitHub
|
||||
, pytestCheckHook
|
||||
, pythonOlder
|
||||
, pybind11
|
||||
, setuptools
|
||||
, wheel
|
||||
, aiohttp
|
||||
, diskcache
|
||||
, gptcache
|
||||
|
@ -9,9 +13,9 @@
|
|||
, nest-asyncio
|
||||
, numpy
|
||||
, openai
|
||||
, ordered-set
|
||||
, platformdirs
|
||||
, pygtrie
|
||||
, pyparsing
|
||||
, pyformlang
|
||||
, requests
|
||||
, tiktoken
|
||||
, torch
|
||||
|
@ -19,16 +23,24 @@
|
|||
|
||||
buildPythonPackage rec {
|
||||
pname = "guidance";
|
||||
version = "0.0.64";
|
||||
format = "setuptools";
|
||||
version = "0.1.6";
|
||||
pyproject = true;
|
||||
|
||||
disabled = pythonOlder "3.8";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "microsoft";
|
||||
owner = "guidance-ai";
|
||||
repo = "guidance";
|
||||
rev = "refs/tags/${version}";
|
||||
hash = "sha256-tQpDJprxctKI88F+CZ9aSJbVo7tjmI4+VrI+WO4QlxE=";
|
||||
hash = "sha256-Z3EuHAQPPXf/i0HnbDhGv5KBUBP0aZDHTwpff7g2E3g=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
pybind11
|
||||
setuptools
|
||||
wheel
|
||||
];
|
||||
|
||||
propagatedBuildInputs = [
|
||||
aiohttp
|
||||
diskcache
|
||||
|
@ -37,9 +49,9 @@ buildPythonPackage rec {
|
|||
nest-asyncio
|
||||
numpy
|
||||
openai
|
||||
ordered-set
|
||||
platformdirs
|
||||
pygtrie
|
||||
pyparsing
|
||||
pyformlang
|
||||
requests
|
||||
tiktoken
|
||||
];
|
||||
|
@ -51,17 +63,21 @@ buildPythonPackage rec {
|
|||
|
||||
disabledTests = [
|
||||
# require network access
|
||||
"test_each_parallel_with_gen_openai"
|
||||
"test_select_simple"
|
||||
"test_commit_point"
|
||||
"test_token_healing"
|
||||
"test_fstring"
|
||||
"test_fstring_custom"
|
||||
"test_token_count"
|
||||
"test_gpt2"
|
||||
"test_recursion_error"
|
||||
"test_openai_class_detection"
|
||||
"test_openai_chat_without_roles"
|
||||
];
|
||||
|
||||
disabledTestPaths = [
|
||||
# require network access
|
||||
"tests/library/test_gen.py"
|
||||
"tests/library/test_include.py"
|
||||
"tests/library/test_select.py"
|
||||
"tests/llms/test_openai.py"
|
||||
"tests/llms/test_transformers.py"
|
||||
"tests/test_program.py"
|
||||
];
|
||||
|
||||
preCheck = ''
|
||||
|
@ -72,8 +88,8 @@ buildPythonPackage rec {
|
|||
|
||||
meta = with lib; {
|
||||
description = "A guidance language for controlling large language models";
|
||||
homepage = "https://github.com/microsoft/guidance";
|
||||
changelog = "https://github.com/microsoft/guidance/releases/tag/${src.rev}";
|
||||
homepage = "https://github.com/guidance-ai/guidance";
|
||||
changelog = "https://github.com/guidance-ai/guidance/releases/tag/${src.rev}";
|
||||
license = licenses.mit;
|
||||
maintainers = with maintainers; [ natsukium ];
|
||||
};
|
||||
|
|
|
@ -7,6 +7,7 @@
|
|||
, ciso8601
|
||||
, cryptography
|
||||
, fetchFromGitHub
|
||||
, fetchpatch
|
||||
, pycognito
|
||||
, pytest-aiohttp
|
||||
, pytest-timeout
|
||||
|
@ -32,12 +33,13 @@ buildPythonPackage rec {
|
|||
hash = "sha256-r4Huvn9mBqnASpUd+drwORE+fApLV/l6Y3aO/UIiEC8=";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
substituteInPlace setup.py \
|
||||
--replace "acme==" "acme>=" \
|
||||
--replace "pycognito==" "pycognito>=" \
|
||||
--replace "snitun==" "snitun>=" \
|
||||
'';
|
||||
patches = [
|
||||
(fetchpatch {
|
||||
# Add missing wait_for_close mock in AiohttpClientMockResponse
|
||||
url = "https://github.com/NabuCasa/hass-nabucasa/commit/097607e0fe30932ca5cba0c50fda125f90f5f3de.patch";
|
||||
hash = "sha256-ZSh+1kGBb6ltNnd0RaDECXiJDEGJBOw1wN2HXPgfy+o=";
|
||||
})
|
||||
];
|
||||
|
||||
nativeBuildInputs = [
|
||||
setuptools
|
||||
|
|
|
@ -4,8 +4,8 @@
|
|||
, pythonOlder
|
||||
|
||||
# propagates
|
||||
, importlib-resources
|
||||
, pyyaml
|
||||
, unicode-rbnf
|
||||
|
||||
# tests
|
||||
, pytestCheckHook
|
||||
|
@ -13,21 +13,22 @@
|
|||
|
||||
let
|
||||
pname = "hassil";
|
||||
version = "1.2.5";
|
||||
version = "1.5.1";
|
||||
in
|
||||
buildPythonPackage {
|
||||
inherit pname version;
|
||||
format = "setuptools";
|
||||
|
||||
disabled = pythonOlder "3.9";
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
hash = "sha256-udOkZILoba2+eR8oSFThsB846COaIXawwRYhn261mCA=";
|
||||
hash = "sha256-GLvDT8BUBvEzgiqKaXokF912g3fOH+KsXnmeOXIwe9U=";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [
|
||||
pyyaml
|
||||
] ++ lib.optionals (pythonOlder "3.9") [
|
||||
importlib-resources
|
||||
unicode-rbnf
|
||||
];
|
||||
|
||||
nativeCheckInputs = [
|
||||
|
@ -35,7 +36,7 @@ buildPythonPackage {
|
|||
];
|
||||
|
||||
meta = with lib; {
|
||||
changelog = "https://github.com/home-assistant/hassil/releases/tag/v${version}";
|
||||
changelog = "https://github.com/home-assistant/hassil/blob/v${version}/CHANGELOG.md";
|
||||
description = "Intent parsing for Home Assistant";
|
||||
homepage = "https://github.com/home-assistant/hassil";
|
||||
license = licenses.asl20;
|
||||
|
|
|
@ -3,8 +3,9 @@
|
|||
, aresponses
|
||||
, buildPythonPackage
|
||||
, fetchFromGitHub
|
||||
, mashumaro
|
||||
, orjson
|
||||
, poetry-core
|
||||
, pydantic
|
||||
, pytest-asyncio
|
||||
, pytestCheckHook
|
||||
, pythonOlder
|
||||
|
@ -12,46 +13,47 @@
|
|||
|
||||
buildPythonPackage rec {
|
||||
pname = "open-meteo";
|
||||
version = "0.2.1";
|
||||
version = "0.3.1";
|
||||
format = "pyproject";
|
||||
|
||||
disabled = pythonOlder "3.8";
|
||||
disabled = pythonOlder "3.11";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "frenck";
|
||||
repo = "python-open-meteo";
|
||||
rev = "v${version}";
|
||||
sha256 = "0i8jmhd29vvkpfxs9l5wy8525ngs79mnc7si2j9b1nc41xrv91f6";
|
||||
hash = "sha256-IB+dfQ4bb4dMYYQUVH9YbP3arvfgt4SooPlOKP3AVI8=";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
# Upstream doesn't set a version for the pyproject.toml
|
||||
substituteInPlace pyproject.toml \
|
||||
--replace "0.0.0" "${version}" \
|
||||
--replace "--cov" ""
|
||||
'';
|
||||
|
||||
nativeBuildInputs = [
|
||||
poetry-core
|
||||
];
|
||||
|
||||
propagatedBuildInputs = [
|
||||
aiohttp
|
||||
aresponses
|
||||
pydantic
|
||||
mashumaro
|
||||
orjson
|
||||
];
|
||||
|
||||
nativeCheckInputs = [
|
||||
aresponses
|
||||
pytest-asyncio
|
||||
pytestCheckHook
|
||||
];
|
||||
|
||||
postPatch = ''
|
||||
# Upstream doesn't set a version for the pyproject.toml
|
||||
substituteInPlace pyproject.toml \
|
||||
--replace "0.0.0" "${version}" \
|
||||
--replace "--cov" "" \
|
||||
--replace 'aiohttp = "^3.8.1"' 'aiohttp = "^3.8.0"'
|
||||
'';
|
||||
|
||||
pythonImportsCheck = [
|
||||
"open_meteo"
|
||||
];
|
||||
|
||||
meta = with lib; {
|
||||
changelog = "https://github.com/frenck/python-open-meteo/releases/tag/v${version}";
|
||||
description = "Python client for the Open-Meteo API";
|
||||
homepage = "https://github.com/frenck/python-open-meteo";
|
||||
license = licenses.mit;
|
||||
|
|
|
@ -4,16 +4,17 @@
|
|||
, buildPythonPackage
|
||||
, fetchFromGitHub
|
||||
, poetry-core
|
||||
, pydantic
|
||||
, mashumaro
|
||||
, pytest-asyncio
|
||||
, pytestCheckHook
|
||||
, pythonOlder
|
||||
, syrupy
|
||||
, yarl
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "pvo";
|
||||
version = "2.0.0";
|
||||
version = "2.1.1";
|
||||
format = "pyproject";
|
||||
|
||||
disabled = pythonOlder "3.11";
|
||||
|
@ -22,7 +23,7 @@ buildPythonPackage rec {
|
|||
owner = "frenck";
|
||||
repo = "python-pvoutput";
|
||||
rev = "refs/tags/v${version}";
|
||||
hash = "sha256-SvsrvGwIAlj/8hdk90+rxigVrx6n3YInvF/4eux2H04=";
|
||||
hash = "sha256-Js8oPEMxJyWK1E6GDm1xwm2BilnV3WBM6Hibf6oFOKE=";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
|
@ -38,7 +39,7 @@ buildPythonPackage rec {
|
|||
|
||||
propagatedBuildInputs = [
|
||||
aiohttp
|
||||
pydantic
|
||||
mashumaro
|
||||
yarl
|
||||
];
|
||||
|
||||
|
@ -46,6 +47,7 @@ buildPythonPackage rec {
|
|||
aresponses
|
||||
pytest-asyncio
|
||||
pytestCheckHook
|
||||
syrupy
|
||||
];
|
||||
|
||||
pythonImportsCheck = [
|
||||
|
|
|
@ -1,30 +1,36 @@
|
|||
{ lib
|
||||
, aiohttp
|
||||
, async-timeout
|
||||
, buildPythonPackage
|
||||
, fetchFromGitHub
|
||||
, poetry-core
|
||||
, pythonOlder
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "pycfdns";
|
||||
version = "2.0.1";
|
||||
format = "setuptools";
|
||||
version = "3.0.0";
|
||||
pyproject = true;
|
||||
|
||||
disabled = pythonOlder "3.11";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "ludeeus";
|
||||
repo = pname;
|
||||
rev = "refs/tags/${version}";
|
||||
hash = "sha256-f6kxYX/dg16OWYpw29dH4Z26ncLZCYyHKGc4fzoCld0=";
|
||||
hash = "sha256-bLzDakxKq8fcjEKSxc6D5VN9gfAu1M3/zaAU2UYnwSs=";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
substituteInPlace setup.py \
|
||||
--replace 'version="master",' 'version="${version}",'
|
||||
substituteInPlace pyproject.toml \
|
||||
--replace 'version="0",' 'version="${version}",'
|
||||
'';
|
||||
|
||||
nativeBuildInputs = [
|
||||
poetry-core
|
||||
];
|
||||
|
||||
propagatedBuildInputs = [
|
||||
aiohttp
|
||||
async-timeout
|
||||
];
|
||||
|
||||
# Project has no tests
|
||||
|
|
45
pkgs/development/python-modules/pyformlang/default.nix
Normal file
45
pkgs/development/python-modules/pyformlang/default.nix
Normal file
|
@ -0,0 +1,45 @@
|
|||
{ lib
|
||||
, buildPythonPackage
|
||||
, fetchPypi
|
||||
, setuptools
|
||||
, wheel
|
||||
, networkx
|
||||
, numpy
|
||||
, pydot
|
||||
, pytestCheckHook
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "pyformlang";
|
||||
version = "1.0.4";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
hash = "sha256-ysX6c8q26bcQyq6GgKBKxTdp00j+4ypb3mgM2cqCmBs=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
setuptools
|
||||
wheel
|
||||
];
|
||||
|
||||
propagatedBuildInputs = [
|
||||
networkx
|
||||
numpy
|
||||
pydot
|
||||
];
|
||||
|
||||
nativeCheckInputs = [
|
||||
pytestCheckHook
|
||||
];
|
||||
|
||||
pythonImportsCheck = [ "pyformlang" ];
|
||||
|
||||
meta = with lib; {
|
||||
description = "A python framework for formal grammars";
|
||||
homepage = "https://pypi.org/project/pyformlang/";
|
||||
license = licenses.mit;
|
||||
maintainers = with maintainers; [ natsukium ];
|
||||
};
|
||||
}
|
|
@ -5,13 +5,14 @@
|
|||
, fetchFromGitHub
|
||||
, prompt-toolkit
|
||||
, pycryptodome
|
||||
, pydantic
|
||||
, pythonOlder
|
||||
, setuptools
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "pykoplenti";
|
||||
version = "1.0.0";
|
||||
version = "1.2.2";
|
||||
format = "pyproject";
|
||||
|
||||
disabled = pythonOlder "3.7";
|
||||
|
@ -20,7 +21,7 @@ buildPythonPackage rec {
|
|||
owner = "stegm";
|
||||
repo = pname;
|
||||
rev = "refs/tags/v${version}";
|
||||
hash = "sha256-XBOKf3i8xywU/1Kzl+VI1Qnkp9ohpSuDX3AnotD32oo=";
|
||||
hash = "sha256-2sGkHCIGo1lzLurvQBmq+16sodAaK8v+mAbIH/Gd3+E=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
@ -35,11 +36,17 @@ buildPythonPackage rec {
|
|||
|
||||
propagatedBuildInputs = [
|
||||
aiohttp
|
||||
click
|
||||
prompt-toolkit
|
||||
pycryptodome
|
||||
pydantic
|
||||
];
|
||||
|
||||
passthru.optional-dependencies = {
|
||||
CLI = [
|
||||
click
|
||||
prompt-toolkit
|
||||
];
|
||||
};
|
||||
|
||||
# Project has no tests
|
||||
doCheck = false;
|
||||
|
||||
|
|
|
@ -72,6 +72,10 @@ buildPythonPackage rec {
|
|||
disabledTests = [
|
||||
# Tests often hang
|
||||
"test_connected"
|
||||
] ++ lib.optionals (lib.versionAtLeast aiohttp.version "3.9.0") [
|
||||
"test_split_serial_packet"
|
||||
"test_serial_poll"
|
||||
"test_simulator"
|
||||
];
|
||||
|
||||
meta = with lib; {
|
||||
|
|
|
@ -21,20 +21,23 @@ buildPythonPackage rec {
|
|||
hash = "sha256-r+f2+vEXJdQGDlbs/MhraFgEmsAf32PU282blLRLjzc=";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
substituteInPlace setup.py \
|
||||
--replace "aiohttp>=3.8.0,<4.0.0" "aiohttp<=4.0.0"
|
||||
'';
|
||||
|
||||
propagatedBuildInputs = [
|
||||
aiohttp
|
||||
];
|
||||
|
||||
# https://github.com/andrewsayre/pysmartthings/issues/80
|
||||
doCheck = lib.versionOlder aiohttp.version "3.9.0";
|
||||
|
||||
nativeCheckInputs = [
|
||||
pytest-asyncio
|
||||
pytestCheckHook
|
||||
];
|
||||
|
||||
postPatch = ''
|
||||
substituteInPlace setup.py \
|
||||
--replace "aiohttp>=3.8.0,<4.0.0" "aiohttp<=4.0.0"
|
||||
'';
|
||||
|
||||
pythonImportsCheck = [
|
||||
"pysmartthings"
|
||||
];
|
||||
|
|
|
@ -55,6 +55,12 @@ buildPythonPackage rec {
|
|||
pytestCheckHook
|
||||
];
|
||||
|
||||
disabledTests = lib.optionals (lib.versionAtLeast aiohttp.version "3.9.0") [
|
||||
# https://github.com/liudger/python-bsblan/issues/808
|
||||
"test_http_error400"
|
||||
"test_not_authorized_401_response"
|
||||
];
|
||||
|
||||
pythonImportsCheck = [
|
||||
"bsblan"
|
||||
];
|
||||
|
|
|
@ -1,37 +1,42 @@
|
|||
{ lib
|
||||
, aiohttp
|
||||
, aresponses
|
||||
, awesomeversion
|
||||
, async-timeout
|
||||
, buildPythonPackage
|
||||
, fetchFromGitHub
|
||||
, poetry-core
|
||||
, protobuf
|
||||
, pytest-asyncio
|
||||
, pytestCheckHook
|
||||
, pythonOlder
|
||||
, syrupy
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "python-homewizard-energy";
|
||||
version = "2.1.2";
|
||||
version = "4.1.1";
|
||||
format = "pyproject";
|
||||
|
||||
disabled = pythonOlder "3.9";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "DCSBL";
|
||||
repo = pname;
|
||||
repo = "python-homewizard-energy";
|
||||
rev = "refs/tags/v${version}";
|
||||
hash = "sha256-iyDRhTV5GSBTVK7ccJhUOrCpE9YuiI1vJM4XroCyIwE=";
|
||||
hash = "sha256-p7uwodjC+wTGrlKf4i4ZRTPg9Qh9krsmwPpWNdF6J4U=";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
substituteInPlace pyproject.toml \
|
||||
--replace 'version = "0.0.0"' 'version = "${version}"'
|
||||
'';
|
||||
|
||||
nativeBuildInputs = [
|
||||
poetry-core
|
||||
];
|
||||
|
||||
propagatedBuildInputs = [
|
||||
awesomeversion
|
||||
aiohttp
|
||||
async-timeout
|
||||
];
|
||||
|
||||
__darwinAllowLocalNetworking = true;
|
||||
|
@ -40,6 +45,7 @@ buildPythonPackage rec {
|
|||
aresponses
|
||||
pytest-asyncio
|
||||
pytestCheckHook
|
||||
syrupy
|
||||
];
|
||||
|
||||
pythonImportsCheck = [
|
||||
|
@ -48,8 +54,8 @@ buildPythonPackage rec {
|
|||
|
||||
meta = with lib; {
|
||||
description = "Library to communicate with HomeWizard Energy devices";
|
||||
homepage = "https://github.com/DCSBL/python-homewizard-energy";
|
||||
changelog = "https://github.com/DCSBL/python-homewizard-energy/releases/tag/v${version}";
|
||||
homepage = "https://github.com/homewizard/python-homewizard-energy";
|
||||
changelog = "https://github.com/homewizard/python-homewizard-energy/releases/tag/v${version}";
|
||||
license = licenses.asl20;
|
||||
maintainers = with maintainers; [ fab ];
|
||||
};
|
||||
|
|
|
@ -5,11 +5,11 @@
|
|||
|
||||
# build
|
||||
, setuptools
|
||||
, wheel
|
||||
|
||||
# propagates
|
||||
, aiohttp
|
||||
, aiorun
|
||||
, async-timeout
|
||||
, coloredlogs
|
||||
, dacite
|
||||
, orjson
|
||||
|
@ -28,7 +28,7 @@
|
|||
|
||||
buildPythonPackage rec {
|
||||
pname = "python-matter-server";
|
||||
version = "4.0.2";
|
||||
version = "5.0.3";
|
||||
format = "pyproject";
|
||||
|
||||
disabled = pythonOlder "3.10";
|
||||
|
@ -37,17 +37,22 @@ buildPythonPackage rec {
|
|||
owner = "home-assistant-libs";
|
||||
repo = "python-matter-server";
|
||||
rev = "refs/tags/${version}";
|
||||
hash = "sha256-fyVvmYznYuhDhU3kApXgXjkPdwhJFxoFq3U87ichmt8=";
|
||||
hash = "sha256-bR6AVoy9f02RKZ57dnHTDAv5LTCcd/qBbzMDRKsGbfM=";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
substituteInPlace pyproject.toml \
|
||||
--replace 'version = "0.0.0"' 'version = "${version}"'
|
||||
'';
|
||||
|
||||
nativeBuildInputs = [
|
||||
setuptools
|
||||
wheel
|
||||
];
|
||||
|
||||
propagatedBuildInputs = [
|
||||
aiohttp
|
||||
aiorun
|
||||
async-timeout
|
||||
coloredlogs
|
||||
dacite
|
||||
orjson
|
||||
|
|
|
@ -1,54 +0,0 @@
|
|||
{ lib
|
||||
, aiohttp
|
||||
, beautifulsoup4
|
||||
, buildPythonPackage
|
||||
, fetchFromGitHub
|
||||
, pkce
|
||||
, poetry-core
|
||||
, pythonOlder
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "python-myq";
|
||||
version = "3.1.13";
|
||||
pyproject = true;
|
||||
|
||||
disabled = pythonOlder "3.8";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "Python-MyQ";
|
||||
repo = "Python-MyQ";
|
||||
rev = "refs/tags/v${version}";
|
||||
hash = "sha256-kW03swRXZdkh45I/up/FIxv0WGBRqTlDt1X71Ow/hrg=";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
substituteInPlace pyproject.toml \
|
||||
--replace "poetry-core==1.6.1" "poetry-core"
|
||||
'';
|
||||
|
||||
nativeBuildInputs = [
|
||||
poetry-core
|
||||
];
|
||||
|
||||
propagatedBuildInputs = [
|
||||
aiohttp
|
||||
beautifulsoup4
|
||||
pkce
|
||||
];
|
||||
|
||||
# Project has no tests
|
||||
doCheck = false;
|
||||
|
||||
pythonImportsCheck = [
|
||||
"pymyq"
|
||||
];
|
||||
|
||||
meta = with lib; {
|
||||
description = "Python wrapper for MyQ API";
|
||||
homepage = "https://github.com/Python-MyQ/Python-MyQ";
|
||||
changelog = "https://github.com/Python-MyQ/Python-MyQ/releases/tag/v${version}";
|
||||
license = with licenses; [ mit ];
|
||||
maintainers = with maintainers; [ fab ];
|
||||
};
|
||||
}
|
|
@ -1,7 +1,6 @@
|
|||
{ lib
|
||||
, stdenv
|
||||
, aiohttp
|
||||
, alexapy
|
||||
, async-timeout
|
||||
, buildPythonPackage
|
||||
, click
|
||||
|
@ -20,7 +19,7 @@
|
|||
|
||||
buildPythonPackage rec {
|
||||
pname = "python-roborock";
|
||||
version = "0.35.3";
|
||||
version = "0.36.2";
|
||||
format = "pyproject";
|
||||
|
||||
disabled = pythonOlder "3.10";
|
||||
|
@ -29,12 +28,12 @@ buildPythonPackage rec {
|
|||
owner = "humbertogontijo";
|
||||
repo = "python-roborock";
|
||||
rev = "refs/tags/v${version}";
|
||||
hash = "sha256-3XTVHs+mLePudLnr+bAN4pHvHtUcE0D5Hw+50Vxhlzw=";
|
||||
hash = "sha256-FyoYAXWdNANxZJ9EKyfRrywKPJmSyt8QRPBlrk9jRIw=";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
substituteInPlace pyproject.toml \
|
||||
--replace "poetry-core==1.6.1" "poetry-core"
|
||||
--replace "poetry-core==1.7.0" "poetry-core"
|
||||
'';
|
||||
|
||||
pythonRelaxDeps = [
|
||||
|
@ -47,7 +46,6 @@ buildPythonPackage rec {
|
|||
];
|
||||
|
||||
propagatedBuildInputs = [
|
||||
alexapy
|
||||
aiohttp
|
||||
async-timeout
|
||||
click
|
||||
|
|
|
@ -1,10 +1,8 @@
|
|||
{ lib
|
||||
, aiohttp
|
||||
, aresponses
|
||||
, buildPythonPackage
|
||||
, fetchFromGitHub
|
||||
, poetry-core
|
||||
, pydantic
|
||||
, pytestCheckHook
|
||||
, pytest-asyncio
|
||||
, pythonOlder
|
||||
|
@ -12,16 +10,16 @@
|
|||
|
||||
buildPythonPackage rec {
|
||||
pname = "pytraccar";
|
||||
version = "1.0.0";
|
||||
format = "pyproject";
|
||||
version = "2.0.0";
|
||||
pyproject = true;
|
||||
|
||||
disabled = pythonOlder "3.8";
|
||||
disabled = pythonOlder "3.11";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "ludeeus";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
hash = "sha256-ngyLe6sbTTQ7n4WdV06OlQnn/vqkD+JUruyMYS1Ym+Q=";
|
||||
repo = "pytraccar";
|
||||
rev = "refs/tags/${version}";
|
||||
hash = "sha256-7QGgI+DDYbordBx4LbtCvPWyEh6ur2RrSKMuDlwRlTo=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
@ -30,11 +28,12 @@ buildPythonPackage rec {
|
|||
|
||||
propagatedBuildInputs = [
|
||||
aiohttp
|
||||
pydantic
|
||||
];
|
||||
|
||||
# https://github.com/ludeeus/pytraccar/issues/31
|
||||
doCheck = lib.versionOlder aiohttp.version "3.9.0";
|
||||
|
||||
nativeCheckInputs = [
|
||||
aresponses
|
||||
pytestCheckHook
|
||||
pytest-asyncio
|
||||
];
|
||||
|
@ -56,6 +55,7 @@ buildPythonPackage rec {
|
|||
meta = with lib; {
|
||||
description = "Python library to handle device information from Traccar";
|
||||
homepage = "https://github.com/ludeeus/pytraccar";
|
||||
changelog = "https://github.com/ludeeus/pytraccar/releases/tag/${version}";
|
||||
license = licenses.mit;
|
||||
maintainers = with maintainers; [ fab ];
|
||||
};
|
||||
|
|
|
@ -2,26 +2,29 @@
|
|||
, buildPythonPackage
|
||||
, fetchPypi
|
||||
, aiohttp
|
||||
, async-timeout
|
||||
, lxml
|
||||
, pythonOlder
|
||||
, setuptools
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "pytrafikverket";
|
||||
version = "0.3.8";
|
||||
format = "setuptools";
|
||||
version = "0.3.9.1";
|
||||
pyproject = true;
|
||||
|
||||
disabled = pythonOlder "3.7";
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
hash = "sha256-3p2tKFuzgl+VFRRXV66MRgcL1XS8xxDqMOUZw+Ql/5E=";
|
||||
hash = "sha256-F0BMpZVzSK0i+tdvN//KZQqgxFrfLf0SCNztKCs6BYQ=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
setuptools
|
||||
];
|
||||
|
||||
propagatedBuildInputs = [
|
||||
aiohttp
|
||||
async-timeout
|
||||
lxml
|
||||
];
|
||||
|
||||
|
|
|
@ -5,21 +5,26 @@
|
|||
, pytestCheckHook
|
||||
, pythonAtLeast
|
||||
, pythonOlder
|
||||
, setuptools
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "restrictedpython";
|
||||
version = "6.2";
|
||||
format = "setuptools";
|
||||
version = "7.0";
|
||||
pyproject = true;
|
||||
|
||||
disabled = pythonOlder "3.7";
|
||||
|
||||
src = fetchPypi {
|
||||
pname = "RestrictedPython";
|
||||
inherit version;
|
||||
hash = "sha256-23Prfjs5ZQ8NIdEMyN2pwOKYbmIclLDF3jL7De46CK8=";
|
||||
hash = "sha256-U3BK+7w1D9yPskVEE2e+Zxyfg4CGkgGy6EUudPzj2xQ=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
setuptools
|
||||
];
|
||||
|
||||
nativeCheckInputs = [
|
||||
pytestCheckHook
|
||||
pytest-mock
|
||||
|
|
|
@ -2,6 +2,7 @@
|
|||
, asyncclick
|
||||
, buildPythonPackage
|
||||
, fetchPypi
|
||||
, firebase-messaging
|
||||
, oauthlib
|
||||
, poetry-core
|
||||
, pytest-asyncio
|
||||
|
@ -40,6 +41,12 @@ buildPythonPackage rec {
|
|||
requests-oauthlib
|
||||
];
|
||||
|
||||
passthru.optional-dependencies = {
|
||||
listen = [
|
||||
firebase-messaging
|
||||
];
|
||||
};
|
||||
|
||||
nativeCheckInputs = [
|
||||
pytest-asyncio
|
||||
pytest-mock
|
||||
|
|
43
pkgs/development/python-modules/unicode-rbnf/default.nix
Normal file
43
pkgs/development/python-modules/unicode-rbnf/default.nix
Normal file
|
@ -0,0 +1,43 @@
|
|||
{ lib
|
||||
, buildPythonPackage
|
||||
, fetchFromGitHub
|
||||
|
||||
# build-system
|
||||
, setuptools
|
||||
|
||||
# tests
|
||||
, pytestCheckHook
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "unicode-rbnf";
|
||||
version = "1.0.0";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "rhasspy";
|
||||
repo = "unicode-rbnf";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-xwnfqWwQJKCJ4G+8eVaySTJAHxhwKYAqLHaCsxtBIl0=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
setuptools
|
||||
];
|
||||
|
||||
pythonImportsCheck = [
|
||||
"unicode_rbnf"
|
||||
];
|
||||
|
||||
nativeCheckInputs = [
|
||||
pytestCheckHook
|
||||
];
|
||||
|
||||
meta = with lib; {
|
||||
changelog = "https://github.com/rhasspy/unicode-rbnf/v${version}/master/CHANGELOG.md";
|
||||
description = "A pure Python implementation of ICU's rule-based number format engine";
|
||||
homepage = "https://github.com/rhasspy/unicode-rbnf";
|
||||
license = licenses.mit;
|
||||
maintainers = with maintainers; [ hexa ];
|
||||
};
|
||||
}
|
|
@ -6,7 +6,6 @@
|
|||
# build-system
|
||||
, setuptools
|
||||
, setuptools-git-versioning
|
||||
, wheel
|
||||
|
||||
# dependencies
|
||||
, async-timeout
|
||||
|
@ -27,20 +26,19 @@
|
|||
|
||||
buildPythonPackage rec {
|
||||
pname = "universal-silabs-flasher";
|
||||
version = "0.0.14";
|
||||
format = "pyproject";
|
||||
version = "0.0.15";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "NabuCasa";
|
||||
repo = "universal-silabs-flasher";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-0c9b571gJXFOAe5ct8O/qy7D6rDosmBHDYEv6odLQ2s=";
|
||||
hash = "sha256-5hA1i2XzKzQDRrZfOaA6I3X7hU+nSd7HpcHHNIzZO7g=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
setuptools
|
||||
setuptools-git-versioning
|
||||
wheel
|
||||
];
|
||||
|
||||
propagatedBuildInputs = [
|
||||
|
@ -65,6 +63,7 @@ buildPythonPackage rec {
|
|||
pythonImportsCheck = [ "universal_silabs_flasher" ];
|
||||
|
||||
meta = with lib; {
|
||||
changelog = "https://github.com/NabuCasa/universal-silabs-flasher/releases/tag/v${version}";
|
||||
description = "Flashes Silicon Labs radios running EmberZNet or CPC multi-pan firmware";
|
||||
homepage = "https://github.com/NabuCasa/universal-silabs-flasher";
|
||||
license = licenses.gpl3Only;
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
{ lib
|
||||
, aiohttp
|
||||
, buildPythonPackage
|
||||
, pythonOlder
|
||||
, fetchFromGitHub
|
||||
|
@ -11,7 +12,7 @@
|
|||
|
||||
buildPythonPackage rec {
|
||||
pname = "vallox-websocket-api";
|
||||
version = "3.3.0";
|
||||
version = "4.0.2";
|
||||
format = "pyproject";
|
||||
|
||||
disabled = pythonOlder "3.8";
|
||||
|
@ -20,7 +21,7 @@ buildPythonPackage rec {
|
|||
owner = "yozik04";
|
||||
repo = "vallox_websocket_api";
|
||||
rev = "refs/tags/${version}";
|
||||
hash = "sha256-wlkb6aa2UtqjrbNA26TUH+ZKvOM64An+lol+MCdQh3U=";
|
||||
hash = "sha256-a9cYYRAKX9sY9fQhefLWgyvk0vQl7Ao3zvw0SAtFW/Q=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
@ -28,6 +29,7 @@ buildPythonPackage rec {
|
|||
];
|
||||
|
||||
propagatedBuildInputs = [
|
||||
aiohttp
|
||||
construct
|
||||
websockets
|
||||
];
|
||||
|
@ -40,6 +42,7 @@ buildPythonPackage rec {
|
|||
pythonImportsCheck = [ "vallox_websocket_api" ];
|
||||
|
||||
meta = {
|
||||
changelog = "https://github.com/yozik04/vallox_websocket_api/releases/tag/${version}";
|
||||
description = "Async API for Vallox ventilation units";
|
||||
homepage = "https://github.com/yozik04/vallox_websocket_api";
|
||||
license = lib.licenses.lgpl3Only;
|
||||
|
|
|
@ -3,17 +3,19 @@
|
|||
, aresponses
|
||||
, buildPythonPackage
|
||||
, fetchFromGitHub
|
||||
, mashumaro
|
||||
, orjson
|
||||
, poetry-core
|
||||
, pydantic
|
||||
, pytest-asyncio
|
||||
, pytestCheckHook
|
||||
, pythonOlder
|
||||
, syrupy
|
||||
, yarl
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "vehicle";
|
||||
version = "2.0.0";
|
||||
version = "2.2.1";
|
||||
format = "pyproject";
|
||||
|
||||
disabled = pythonOlder "3.11";
|
||||
|
@ -22,25 +24,9 @@ buildPythonPackage rec {
|
|||
owner = "frenck";
|
||||
repo = "python-vehicle";
|
||||
rev = "refs/tags/v${version}";
|
||||
hash = "sha256-EbjrAfbqVY336RHBWq81KM+oHixen+38aUTnWZQ+nCs=";
|
||||
hash = "sha256-mu30v4iZoOYfQZc1P45UZaor6hf+i+gOvGcVGcQYzTo=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
poetry-core
|
||||
];
|
||||
|
||||
propagatedBuildInputs = [
|
||||
aiohttp
|
||||
pydantic
|
||||
yarl
|
||||
];
|
||||
|
||||
nativeCheckInputs = [
|
||||
aresponses
|
||||
pytest-asyncio
|
||||
pytestCheckHook
|
||||
];
|
||||
|
||||
postPatch = ''
|
||||
# Upstream doesn't set a version for the pyproject.toml
|
||||
substituteInPlace pyproject.toml \
|
||||
|
@ -48,6 +34,24 @@ buildPythonPackage rec {
|
|||
--replace "--cov" ""
|
||||
'';
|
||||
|
||||
nativeBuildInputs = [
|
||||
poetry-core
|
||||
];
|
||||
|
||||
propagatedBuildInputs = [
|
||||
aiohttp
|
||||
mashumaro
|
||||
orjson
|
||||
yarl
|
||||
];
|
||||
|
||||
nativeCheckInputs = [
|
||||
aresponses
|
||||
pytest-asyncio
|
||||
pytestCheckHook
|
||||
syrupy
|
||||
];
|
||||
|
||||
pythonImportsCheck = [
|
||||
"vehicle"
|
||||
];
|
||||
|
|
|
@ -1,6 +1,12 @@
|
|||
{ lib
|
||||
, buildPythonPackage
|
||||
, fetchPypi
|
||||
, fetchFromGitHub
|
||||
|
||||
# build-system
|
||||
, setuptools
|
||||
|
||||
# optional-dependencies
|
||||
, zeroconf
|
||||
|
||||
# tests
|
||||
, wyoming-faster-whisper
|
||||
|
@ -10,12 +16,24 @@
|
|||
|
||||
buildPythonPackage rec {
|
||||
pname = "wyoming";
|
||||
version = "1.2.0";
|
||||
format = "setuptools";
|
||||
version = "1.4.0";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
hash = "sha256-mgNhc8PMRrwfvGZEcgIvQ/P2dysdDo2juvZccvb2C/g=";
|
||||
src = fetchFromGitHub {
|
||||
owner = "rhasspy";
|
||||
repo = "wyoming";
|
||||
rev = "refs/tags/${version}";
|
||||
hash = "sha256-59/6tRHHAu31VFuKhj2LCEUqkdVi81fu5POuGJmw9bw=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
setuptools
|
||||
];
|
||||
|
||||
passthru.optional-dependencies = {
|
||||
zeroconf = [
|
||||
zeroconf
|
||||
];
|
||||
};
|
||||
|
||||
pythonImportsCheck = [
|
||||
|
@ -34,8 +52,9 @@ buildPythonPackage rec {
|
|||
};
|
||||
|
||||
meta = with lib; {
|
||||
changelog = "https://github.com/rhasspy/wyoming/releases/tag/${version}";
|
||||
description = "Protocol for Rhasspy Voice Assistant";
|
||||
homepage = "https://pypi.org/project/wyoming/";
|
||||
homepage = "https://github.com/rhasspy/wyoming";
|
||||
license = licenses.mit;
|
||||
maintainers = with maintainers; [ hexa ];
|
||||
};
|
||||
|
|
|
@ -11,7 +11,7 @@
|
|||
|
||||
buildPythonPackage rec {
|
||||
pname = "yolink-api";
|
||||
version = "0.3.3";
|
||||
version = "0.3.4";
|
||||
format = "pyproject";
|
||||
|
||||
disabled = pythonOlder "3.7";
|
||||
|
@ -20,7 +20,7 @@ buildPythonPackage rec {
|
|||
owner = "YoSmart-Inc";
|
||||
repo = pname;
|
||||
rev = "refs/tags/v${version}";
|
||||
hash = "sha256-Kg7EvMoFMNm7+Upxo1RIyzrOFsz9dQu1YYiEuetlXBk=";
|
||||
hash = "sha256-wDZlzl178SIXxo5SacbbXWHhF4wOsjBU4a9h0jBYA4c=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
|
|
@ -1,6 +1,5 @@
|
|||
{ lib
|
||||
, stdenv
|
||||
, cython
|
||||
, cython_3
|
||||
, async-timeout
|
||||
, buildPythonPackage
|
||||
, fetchFromGitHub
|
||||
|
@ -15,7 +14,7 @@
|
|||
|
||||
buildPythonPackage rec {
|
||||
pname = "zeroconf";
|
||||
version = "0.119.0";
|
||||
version = "0.128.0";
|
||||
format = "pyproject";
|
||||
|
||||
disabled = pythonOlder "3.7";
|
||||
|
@ -24,11 +23,16 @@ buildPythonPackage rec {
|
|||
owner = "jstasiak";
|
||||
repo = "python-zeroconf";
|
||||
rev = "refs/tags/${version}";
|
||||
hash = "sha256-VaqKk2WrRLZM2tfx3+y9GngEc6rMcw0b12ExFVfDYf4=";
|
||||
hash = "sha256-44Ibjbimpl+KSnQ2QMwVg79F38gdWPYTR/ZRyW7JHEU=";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
substituteInPlace pyproject.toml \
|
||||
--replace "Cython>=3.0.5" "Cython"
|
||||
'';
|
||||
|
||||
nativeBuildInputs = [
|
||||
cython
|
||||
cython_3
|
||||
poetry-core
|
||||
setuptools
|
||||
];
|
||||
|
|
|
@ -2,26 +2,47 @@
|
|||
, aiohttp
|
||||
, buildPythonPackage
|
||||
, fetchFromGitHub
|
||||
, fetchpatch
|
||||
, pytest-asyncio
|
||||
, pytestCheckHook
|
||||
, pythonOlder
|
||||
, setuptools
|
||||
, zigpy
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "zha-quirks";
|
||||
version = "0.0.106";
|
||||
format = "setuptools";
|
||||
version = "0.0.107";
|
||||
pyproject = true;
|
||||
|
||||
disabled = pythonOlder "3.7";
|
||||
disabled = pythonOlder "3.8";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "zigpy";
|
||||
repo = "zha-device-handlers";
|
||||
rev = "refs/tags/${version}";
|
||||
hash = "sha256-+sL3AbjDg0Kl6eqMwVAN9W85QKJqFR1ANKz1E958KeA=";
|
||||
hash = "sha256-JHf6PZDK7yjyHjjUhkNpqEINCaY916wX5rXaw1Fx1ro=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
(fetchpatch {
|
||||
# https://github.com/zigpy/zha-device-handlers/pull/2787
|
||||
name = "zigpy-0.60-compat.patch";
|
||||
url = "https://github.com/zigpy/zha-device-handlers/commit/f497ccd2437ae9a24b9afdb84f11fc27a30df211.patch";
|
||||
hash = "sha256-ICatiA0QRmfJ4Vf4LWyUJI5TLeWoikII49HSBir5WNI=";
|
||||
})
|
||||
];
|
||||
|
||||
postPatch = ''
|
||||
substituteInPlace pyproject.toml \
|
||||
--replace ', "setuptools-git-versioning<2"' "" \
|
||||
--replace 'dynamic = ["version"]' 'version = "${version}"'
|
||||
'';
|
||||
|
||||
nativeBuildInputs = [
|
||||
setuptools
|
||||
];
|
||||
|
||||
propagatedBuildInputs = [
|
||||
aiohttp
|
||||
zigpy
|
||||
|
|
|
@ -6,13 +6,14 @@
|
|||
, pytest-asyncio
|
||||
, pytestCheckHook
|
||||
, pythonOlder
|
||||
, setuptools
|
||||
, zigpy
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "zigpy-deconz";
|
||||
version = "0.21.1";
|
||||
format = "setuptools";
|
||||
version = "0.22.0";
|
||||
pyproject = true;
|
||||
|
||||
disabled = pythonOlder "3.7";
|
||||
|
||||
|
@ -20,9 +21,19 @@ buildPythonPackage rec {
|
|||
owner = "zigpy";
|
||||
repo = pname;
|
||||
rev = "refs/tags/${version}";
|
||||
hash = "sha256-YRJMIpC6Zk5sQjGyzdEbQEeYgFJzIbxe4BReayceu10=";
|
||||
hash = "sha256-pdWWI+yZh0uf2TzVbyJFIrxM2zfmaPG/PGZWaNNrZ6M=";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
substituteInPlace pyproject.toml \
|
||||
--replace ', "setuptools-git-versioning<2"' "" \
|
||||
--replace 'dynamic = ["version"]' 'version = "${version}"'
|
||||
'';
|
||||
|
||||
nativeBuildInputs = [
|
||||
setuptools
|
||||
];
|
||||
|
||||
propagatedBuildInputs = [
|
||||
pyserial
|
||||
pyserial-asyncio
|
||||
|
|
|
@ -6,26 +6,35 @@
|
|||
, pytest-asyncio
|
||||
, pytestCheckHook
|
||||
, pythonOlder
|
||||
, setuptools
|
||||
, zigpy
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "zigpy-xbee";
|
||||
version = "0.19.0";
|
||||
format = "setuptools";
|
||||
# https://github.com/Martiusweb/asynctest/issues/152
|
||||
# broken by upstream python bug with asynctest and
|
||||
# is used exclusively by home-assistant with python 3.8
|
||||
version = "0.20.0";
|
||||
pyproject = true;
|
||||
|
||||
disabled = pythonOlder "3.8";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "zigpy";
|
||||
repo = "zigpy-xbee";
|
||||
rev = "refs/tags/${version}";
|
||||
hash = "sha256-KUXXOySuPFNKcW3O08FBYIfm4WwVjOuIF+GefmKnwl0=";
|
||||
hash = "sha256-Ja9U/X9YblS6uUD7MX3t2tItG9AMiNF7OFgvIotdvQs=";
|
||||
};
|
||||
|
||||
buildInputs = [
|
||||
postPatch = ''
|
||||
substituteInPlace pyproject.toml \
|
||||
--replace ', "setuptools-git-versioning<2"' "" \
|
||||
--replace 'dynamic = ["version"]' 'version = "${version}"'
|
||||
'';
|
||||
|
||||
nativeBuildInputs = [
|
||||
setuptools
|
||||
];
|
||||
|
||||
propagatedBuildInputs = [
|
||||
pyserial
|
||||
pyserial-asyncio
|
||||
zigpy
|
||||
|
|
|
@ -9,13 +9,14 @@
|
|||
, pytest-asyncio
|
||||
, pytestCheckHook
|
||||
, pythonOlder
|
||||
, setuptools
|
||||
, zigpy
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "zigpy-zigate";
|
||||
version = "0.11.0";
|
||||
format = "setuptools";
|
||||
version = "0.12.0";
|
||||
pyproject = true;
|
||||
|
||||
disabled = pythonOlder "3.8";
|
||||
|
||||
|
@ -23,9 +24,19 @@ buildPythonPackage rec {
|
|||
owner = "zigpy";
|
||||
repo = "zigpy-zigate";
|
||||
rev = "refs/tags/${version}";
|
||||
hash = "sha256-eGN2QvPHZ8gfPPFdUbAP9cs43jzUHDBS/w1tni1shB0=";
|
||||
hash = "sha256-wziXUFYSUXhzWHM870jphG12h99WVzqiYimtIbkXyM0=";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
substituteInPlace pyproject.toml \
|
||||
--replace ', "setuptools-git-versioning<2"' "" \
|
||||
--replace 'dynamic = ["version"]' 'version = "${version}"'
|
||||
'';
|
||||
|
||||
nativeBuildInputs = [
|
||||
setuptools
|
||||
];
|
||||
|
||||
propagatedBuildInputs = [
|
||||
gpiozero
|
||||
pyserial
|
||||
|
|
|
@ -10,14 +10,15 @@
|
|||
, pytest-timeout
|
||||
, pytestCheckHook
|
||||
, pythonOlder
|
||||
, setuptools
|
||||
, voluptuous
|
||||
, zigpy
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "zigpy-znp";
|
||||
version = "0.11.6";
|
||||
format = "setuptools";
|
||||
version = "0.12.0";
|
||||
pyproject = true;
|
||||
|
||||
disabled = pythonOlder "3.7";
|
||||
|
||||
|
@ -25,12 +26,18 @@ buildPythonPackage rec {
|
|||
owner = "zigpy";
|
||||
repo = pname;
|
||||
rev = "refs/tags/v${version}";
|
||||
hash = "sha256-K85AmksP/dXKL4DQKadyvjK7y5x6yEgc6vDJAPfblTw=";
|
||||
hash = "sha256-nPk//1MMvtWf2iLZZ/2vJoBdFEJBmy8RBMwSFzfnNT8=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
setuptools
|
||||
];
|
||||
|
||||
postPatch = ''
|
||||
substituteInPlace pyproject.toml \
|
||||
--replace "timeout = 20" "timeout = 300"
|
||||
--replace "timeout = 20" "timeout = 300" \
|
||||
--replace ', "setuptools-git-versioning<2"' "" \
|
||||
--replace 'dynamic = ["version"]' 'version = "${version}"'
|
||||
'';
|
||||
|
||||
propagatedBuildInputs = [
|
||||
|
|
|
@ -14,12 +14,11 @@
|
|||
, pythonOlder
|
||||
, setuptools
|
||||
, voluptuous
|
||||
, wheel
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "zigpy";
|
||||
version = "0.58.1";
|
||||
version = "0.60.0";
|
||||
format = "pyproject";
|
||||
|
||||
disabled = pythonOlder "3.8";
|
||||
|
@ -28,7 +27,7 @@ buildPythonPackage rec {
|
|||
owner = "zigpy";
|
||||
repo = "zigpy";
|
||||
rev = "refs/tags/${version}";
|
||||
hash = "sha256-i2P9QyhT/UQ8Xu0IfQ2OzAxIiMF4H04Jkz3/6e2FCpY=";
|
||||
hash = "sha256-1i92YyOIoWSMDHgfnXiXQuvDnmEPlSHwoSLmmsoTkDU=";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
|
@ -39,7 +38,6 @@ buildPythonPackage rec {
|
|||
|
||||
nativeBuildInputs = [
|
||||
setuptools
|
||||
wheel
|
||||
];
|
||||
|
||||
propagatedBuildInputs = [
|
||||
|
|
70
pkgs/development/python-modules/zlib-ng/default.nix
Normal file
70
pkgs/development/python-modules/zlib-ng/default.nix
Normal file
|
@ -0,0 +1,70 @@
|
|||
{ lib
|
||||
, buildPythonPackage
|
||||
, fetchFromGitHub
|
||||
|
||||
# build-system
|
||||
, cmake
|
||||
, setuptools
|
||||
|
||||
# native dependencies
|
||||
, zlib-ng
|
||||
|
||||
# tests
|
||||
, pytestCheckHook
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "zlib-ng";
|
||||
version = "0.2.0";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "pycompression";
|
||||
repo = "python-zlib-ng";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-dZnX94SOuV1/zTYUecnRe6DDKf5nAvydHn7gESVQ6hs=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
cmake
|
||||
setuptools
|
||||
];
|
||||
|
||||
dontUseCmakeConfigure = true;
|
||||
|
||||
env.PYTHON_ZLIB_NG_LINK_DYNAMIC = true;
|
||||
|
||||
buildInputs = [
|
||||
zlib-ng
|
||||
];
|
||||
|
||||
pythonImportsCheck = [
|
||||
"zlib_ng"
|
||||
];
|
||||
|
||||
nativeCheckInputs = [
|
||||
pytestCheckHook
|
||||
];
|
||||
|
||||
preCheck = ''
|
||||
rm -rf src
|
||||
'';
|
||||
|
||||
disabledTests = [
|
||||
# commandline tests fail to find the built module
|
||||
"test_compress_fast_best_are_exclusive"
|
||||
"test_compress_infile_outfile"
|
||||
"test_compress_infile_outfile_default"
|
||||
"test_decompress_cannot_have_flags_compression"
|
||||
"test_decompress_infile_outfile"
|
||||
"test_decompress_infile_outfile_error"
|
||||
];
|
||||
|
||||
meta = with lib; {
|
||||
description = "A drop-in replacement for Python's zlib and gzip modules using zlib-ng";
|
||||
homepage = "https://github.com/pycompression/python-zlib-ng";
|
||||
changelog = "https://github.com/pycompression/python-zlib-ng/blob/${src.rev}/CHANGELOG.rst";
|
||||
license = licenses.psfl;
|
||||
maintainers = with maintainers; [ hexa ];
|
||||
};
|
||||
}
|
|
@ -1,3 +1,4 @@
|
|||
{ callPackage, ... }: {
|
||||
tflint-ruleset-aws = callPackage ./tflint-ruleset-aws.nix { };
|
||||
tflint-ruleset-google = callPackage ./tflint-ruleset-google.nix { };
|
||||
}
|
||||
|
|
|
@ -0,0 +1,38 @@
|
|||
{ lib
|
||||
, buildGoModule
|
||||
, fetchFromGitHub
|
||||
}:
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "tflint-ruleset-google";
|
||||
version = "0.24.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "terraform-linters";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
hash = "sha256-1eF/uzOYP/gi+ooHN8OfCR2nz+/z98theO0Lr/BBhWM=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-owpNcsxuP+sG27vv9V7ArMK1NLBNbnw11KpdpVyWAD0=";
|
||||
|
||||
# upstream Makefile also does a go test $(go list ./... | grep -v integration)
|
||||
preCheck = ''
|
||||
rm integration/integration_test.go
|
||||
'';
|
||||
|
||||
subPackages = [ "." ];
|
||||
|
||||
postInstall = ''
|
||||
mkdir -p $out/github.com/terraform-linters/${pname}/${version}
|
||||
mv $out/bin/${pname} $out/github.com/terraform-linters/${pname}/${version}/
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://github.com/terraform-linters/tflint-ruleset-google";
|
||||
description = "TFLint ruleset plugin for Terraform Google Provider";
|
||||
platforms = platforms.unix;
|
||||
maintainers = with maintainers; [ john-rodewald ];
|
||||
license = with licenses; [ mpl20 ];
|
||||
};
|
||||
}
|
|
@ -3,7 +3,7 @@ GEM
|
|||
specs:
|
||||
cbor-canonical (0.1.2)
|
||||
cbor-deterministic (0.1.3)
|
||||
cbor-diag (0.8.4)
|
||||
cbor-diag (0.8.7)
|
||||
cbor-canonical
|
||||
cbor-deterministic
|
||||
cbor-packed
|
||||
|
@ -24,4 +24,4 @@ DEPENDENCIES
|
|||
cbor-diag
|
||||
|
||||
BUNDLED WITH
|
||||
2.4.10
|
||||
2.4.20
|
||||
|
|
|
@ -25,10 +25,10 @@
|
|||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "0k57gminnhz5fmnclrixdp1f2mg8d6zjnbbf67glaqpxf08a99j6";
|
||||
sha256 = "0rwd88xngbjamgydj9rg3wvgl53pfzhal2n702s9afa1yp8mjm51";
|
||||
type = "gem";
|
||||
};
|
||||
version = "0.8.4";
|
||||
version = "0.8.7";
|
||||
};
|
||||
cbor-packed = {
|
||||
groups = ["default"];
|
||||
|
|
|
@ -12,42 +12,47 @@
|
|||
let
|
||||
phpMajor = lib.versions.majorMinor php.version;
|
||||
|
||||
version = "1.92.0";
|
||||
version = "1.92.3";
|
||||
|
||||
hashes = {
|
||||
"x86_64-linux" = {
|
||||
system = "amd64";
|
||||
hash = {
|
||||
"8.1" = "sha256-XXwsX4kJ/ubu8AjGj+baGM6SLJCTeefKCynpZ6UVyQo=";
|
||||
"8.2" = "sha256-2pScIG8tWLrgd+dzUYWpV9Y4lcIujN4BTX6qzfmaank=";
|
||||
"8.1" = "sha256-WyduRLnXWR8B5CPMfQyd9yBSTCb/SY/yH2Me8FSdKsk=";
|
||||
"8.2" = "sha256-oQbsQpftQnCzrAqdgkwuz9Igg0vWzYN030ZpkPL9a6Q=";
|
||||
"8.3" = "sha256-NVLVi6IRd+kJSkG0/70MFfCyv4qaFr/vI+96/taiBSQ=";
|
||||
};
|
||||
};
|
||||
"i686-linux" = {
|
||||
system = "i386";
|
||||
hash = {
|
||||
"8.1" = "sha256-I+LTPimETlKVx6gTOfsxHlgphhkjlMxoGorVQkRWVP0=";
|
||||
"8.2" = "sha256-Or5qIBDuHVfq7BEfnUtT2PMFNlt5Us1aWqtM+4ExOAA=";
|
||||
"8.1" = "sha256-5k3GAB4LoUYv/QS5EVv5xVhv7RfBYq4Tkzr7q/+As7M=";
|
||||
"8.2" = "sha256-VK7USg73q8WUQoq5dZ9au8TtbiCi9FUwi8CONEMipfQ=";
|
||||
"8.3" = "sha256-TT2lMVtI+Frn1EVzGUCy7MSkPhYOT6hgD4yzv3Bi4Uc=";
|
||||
};
|
||||
};
|
||||
"aarch64-linux" = {
|
||||
system = "arm64";
|
||||
hash = {
|
||||
"8.1" = "sha256-SID/iTmrSBfz41joG8JaVi7zwEb5OHQ3dRp8PpN+HSg=";
|
||||
"8.2" = "sha256-GveRe/XdY2d6X/m7ofyr+6Ha2GfnDtNL+M/VnZqMcqo=";
|
||||
"8.1" = "sha256-t1I9CQ73iK3FM5dhTV68uitwjR+lNZgpWFhQnOkzTWU=";
|
||||
"8.2" = "sha256-+GtJVqpK1+CXJl4gxvttcs2fhDoNcvE1Gqd8TNy6IFU=";
|
||||
"8.3" = "sha256-KTKu6Nvv5Xdk3PzKzww5ZWYtG7eRgedU2AooYZGLE+0=";
|
||||
};
|
||||
};
|
||||
"aarch64-darwin" = {
|
||||
system = "arm64";
|
||||
hash = {
|
||||
"8.1" = "sha256-iT2oURI7suabC16ti6TQMBigU35TIujWpXSNdXIZDD4=";
|
||||
"8.2" = "sha256-cmfANcQEn7IIe7uovACBAuqyo7SPZZOhwtdlPMiKTWI=";
|
||||
"8.1" = "sha256-q+2xEeHxb1jKz/5o83OuJGXQJ6EFLZ0esUzfe924vio=";
|
||||
"8.2" = "sha256-Ug6Y7nqSFGUcm4YvTrYTsxifavmPrsqfomNZceaiHpA=";
|
||||
"8.3" = "sha256-6BEK56Naxzk8m7UOV40pFqLTbSd7jsA8VEOPEKZjbzM=";
|
||||
};
|
||||
};
|
||||
"x86_64-darwin" = {
|
||||
system = "amd64";
|
||||
hash = {
|
||||
"8.1" = "sha256-zGunEfOLm7LmOoQcrkRFX8oZQQJIrXPKct5hNJyOlug=";
|
||||
"8.2" = "sha256-qzt9NVKZYoJMKaX+u8CbGJR5dfUtSRYjV45mvSWl/P8=";
|
||||
"8.1" = "sha256-jE5z02gFUkFCBPg/KNrtRS53TifA3MkuztXQJm2x4qw=";
|
||||
"8.2" = "sha256-Ix+qb1jWHdxKAh0Vjpe9O2Yc0I6Qwb+qLK3vNLqpZVY=";
|
||||
"8.3" = "sha256-PjUFoZQnk4VRRCQE1OddzxV5LRPa2uQawpYzfooQSk8=";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
|
|
@ -10,16 +10,16 @@
|
|||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "cargo-semver-checks";
|
||||
version = "0.25.0";
|
||||
version = "0.26.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "obi1kenobi";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
hash = "sha256-cy1YgNBxVSxdoVq/2t6Uf4PBQf54degabtEYfIeIBDU=";
|
||||
hash = "sha256-M7ovDD9dwxVZgbggnXhe1A/hDQ8QRmY/2J6qdWU4mys=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-Xl6wneomb5NeqhA9pMyNkCtc6FgYtx7k2zgQ3oBHP/Q=";
|
||||
cargoHash = "sha256-wPWSuvAmPCquwg44PsbExnDKp7xDVWIy+/1SnnCuJmE=";
|
||||
|
||||
nativeBuildInputs = [
|
||||
cmake
|
||||
|
|
|
@ -2,20 +2,24 @@
|
|||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "sauce-connect";
|
||||
version = "4.5.4";
|
||||
version = "4.9.1";
|
||||
|
||||
src = fetchurl (
|
||||
if stdenv.hostPlatform.system == "x86_64-linux" then {
|
||||
url = "https://saucelabs.com/downloads/sc-${version}-linux.tar.gz";
|
||||
sha256 = "1w8fw47q4bzpk5jfagmc0cbp69jdd6jcv2xl1gx91cbp7xd8mcbf";
|
||||
} else if stdenv.hostPlatform.system == "i686-linux" then {
|
||||
url = "https://saucelabs.com/downloads/sc-${version}-linux32.tar.gz";
|
||||
sha256 = "1h9n1mzmrmlrbd0921b0sgg7m8z0w71pdb5sif6h1b9f97cp353x";
|
||||
} else {
|
||||
url = "https://saucelabs.com/downloads/sc-${version}-osx.zip";
|
||||
sha256 = "0rkyd402f1n92ad3w1460j1a4m46b29nandv4z6wvg2pasyyf2lj";
|
||||
}
|
||||
);
|
||||
passthru = {
|
||||
sources = {
|
||||
x86_64-linux = fetchurl {
|
||||
url = "https://saucelabs.com/downloads/sc-${version}-linux.tar.gz";
|
||||
hash = "sha256-S3vzng6b0giB6Zceaxi62pQOEHysIR/vVQmswkEZ0/M=";
|
||||
};
|
||||
x86_64-darwin = fetchurl {
|
||||
url = "https://saucelabs.com/downloads/sc-${version}-osx.zip";
|
||||
hash = "sha256-6tJayqo+p7PMz8M651ikHz6tEjGjRIffOqQBchkpW5Q=";
|
||||
};
|
||||
aarch64-darwin = passthru.sources.x86_64-darwin;
|
||||
};
|
||||
};
|
||||
|
||||
src = passthru.sources.${stdenv.hostPlatform.system}
|
||||
or (throw "Unsupported system: ${stdenv.hostPlatform.system}");
|
||||
|
||||
nativeBuildInputs = [ unzip ];
|
||||
|
||||
|
@ -38,7 +42,7 @@ stdenv.mkDerivation rec {
|
|||
sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ];
|
||||
license = licenses.unfree;
|
||||
homepage = "https://docs.saucelabs.com/reference/sauce-connect/";
|
||||
maintainers = with maintainers; [offline];
|
||||
platforms = platforms.linux ++ platforms.darwin;
|
||||
maintainers = with maintainers; [ offline ];
|
||||
platforms = builtins.attrNames passthru.sources;
|
||||
};
|
||||
}
|
||||
|
|
27
pkgs/development/tools/sauce-connect/update.sh
Executable file
27
pkgs/development/tools/sauce-connect/update.sh
Executable file
|
@ -0,0 +1,27 @@
|
|||
#!/usr/bin/env nix-shell
|
||||
#!nix-shell -i bash -p common-updater-scripts curl jq
|
||||
# API documentation: https://docs.saucelabs.com/dev/api/connect/
|
||||
|
||||
set -Eeuo pipefail
|
||||
shopt -s lastpipe
|
||||
die() {
|
||||
echo -e "${BASH_SOURCE[0]}:${BASH_LINENO[0]}" ERROR: "$@" >&2
|
||||
exit 1
|
||||
}
|
||||
# shellcheck disable=2154
|
||||
trap 's=$?; die "$BASH_COMMAND"; exit $s' ERR
|
||||
|
||||
# Versions may not be updated simultaneously across all platforms, so need to figure out the latest
|
||||
# version that includes both platforms. For example, currently the latest on Linux is 4.9.2 while
|
||||
# Mac is 4.9.1.
|
||||
response=$(curl -fsSL 'https://api.us-west-1.saucelabs.com/rest/v1/public/tunnels/info/versions?all=true')
|
||||
all_versions=$(jq --exit-status --raw-output \
|
||||
'.all_downloads | to_entries[] | select(.value | has("linux") and has("osx")) | .key' \
|
||||
<<< "$response")
|
||||
latest_version=$(sort --version-sort <<< "$all_versions" | tail -n 1)
|
||||
for platform in x86_64-linux x86_64-darwin; do
|
||||
update-source-version sauce-connect 0 "sha256-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=" \
|
||||
--source-key="passthru.sources.$platform"
|
||||
update-source-version sauce-connect "$latest_version" \
|
||||
--source-key="passthru.sources.$platform"
|
||||
done
|
14
pkgs/games/deliantra/0003-swap.patch
Normal file
14
pkgs/games/deliantra/0003-swap.patch
Normal file
|
@ -0,0 +1,14 @@
|
|||
--- a/include/util.h
|
||||
+++ b/include/util.h
|
||||
@@ -449,6 +449,11 @@ struct slice_allocator
|
||||
{
|
||||
p->~Tp ();
|
||||
}
|
||||
+
|
||||
+ bool operator ==(const slice_allocator &) const
|
||||
+ {
|
||||
+ return true;
|
||||
+ }
|
||||
};
|
||||
|
||||
// basically a memory area, but refcounted
|
|
@ -35,8 +35,11 @@ stdenv.mkDerivation rec {
|
|||
patches = [
|
||||
./0001-abs.patch
|
||||
./0002-datadir.patch
|
||||
./0003-swap.patch
|
||||
];
|
||||
|
||||
env.CXXFLAGS = "-std=c++11";
|
||||
|
||||
postFixup = ''
|
||||
wrapProgram $out/bin/cfutil --prefix PERL5LIB : $PERL5LIB
|
||||
wrapProgram $out/bin/deliantra-server --prefix PERL5LIB : $PERL5LIB
|
||||
|
|
|
@ -10,7 +10,7 @@
|
|||
.Sh SYNOPSIS
|
||||
.Nm
|
||||
.Bro
|
||||
.Cm switch | boot | test | build | dry-build | dry-activate | edit | build-vm | build-vm-with-bootloader | list-generations Op Fl -json
|
||||
.Cm switch | boot | test | build | dry-build | dry-activate | edit | repl | build-vm | build-vm-with-bootloader | list-generations Op Fl -json
|
||||
.Brc
|
||||
.br
|
||||
.Op Fl -upgrade | -upgrade-all
|
||||
|
@ -143,6 +143,10 @@ Opens
|
|||
.Pa configuration.nix
|
||||
in the default editor.
|
||||
.
|
||||
.It Cm repl
|
||||
Opens the configuration in
|
||||
.Ic nix repl Ns .
|
||||
.
|
||||
.It Cm build-vm
|
||||
Build a script that starts a NixOS virtual machine with the desired
|
||||
configuration. It leaves a symlink
|
||||
|
|
|
@ -49,7 +49,7 @@ while [ "$#" -gt 0 ]; do
|
|||
--help)
|
||||
showSyntax
|
||||
;;
|
||||
switch|boot|test|build|edit|dry-build|dry-run|dry-activate|build-vm|build-vm-with-bootloader|list-generations)
|
||||
switch|boot|test|build|edit|repl|dry-build|dry-run|dry-activate|build-vm|build-vm-with-bootloader|list-generations)
|
||||
if [ "$i" = dry-run ]; then i=dry-build; fi
|
||||
# exactly one action mandatory, bail out if multiple are given
|
||||
if [ -n "$action" ]; then showSyntax; fi
|
||||
|
@ -511,6 +511,68 @@ if [ "$action" = dry-build ]; then
|
|||
extraBuildFlags+=(--dry-run)
|
||||
fi
|
||||
|
||||
if [ "$action" = repl ]; then
|
||||
# This is a very end user command, implemented using sub-optimal means.
|
||||
# You should feel free to improve its behavior, as well as resolve tech
|
||||
# debt in "breaking" ways. Humans adapt quite well.
|
||||
if [[ -z $flake ]]; then
|
||||
exec nix repl '<nixpkgs/nixos>' "${extraBuildFlags[@]}"
|
||||
else
|
||||
if [[ -n "${lockFlags[0]}" ]]; then
|
||||
# nix repl itself does not support locking flags
|
||||
log "nixos-rebuild repl does not support locking flags yet"
|
||||
exit 1
|
||||
fi
|
||||
d='$'
|
||||
q='"'
|
||||
bold="$(echo -e '\033[1m')"
|
||||
blue="$(echo -e '\033[34;1m')"
|
||||
attention="$(echo -e '\033[35;1m')"
|
||||
reset="$(echo -e '\033[0m')"
|
||||
# This nix repl invocation is impure, because usually the flakeref is.
|
||||
# For a solution that preserves the motd and custom scope, we need
|
||||
# something like https://github.com/NixOS/nix/issues/8679.
|
||||
exec nix repl --impure --expr "
|
||||
let flake = builtins.getFlake ''$flake'';
|
||||
configuration = flake.$flakeAttr;
|
||||
motd = ''
|
||||
$d{$q\n$q}
|
||||
Hello and welcome to the NixOS configuration
|
||||
$flakeAttr
|
||||
in $flake
|
||||
|
||||
The following is loaded into nix repl's scope:
|
||||
|
||||
- ${blue}config${reset} All option values
|
||||
- ${blue}options${reset} Option data and metadata
|
||||
- ${blue}pkgs${reset} Nixpkgs package set
|
||||
- other module arguments
|
||||
|
||||
- ${blue}flake${reset} Flake outputs, inputs and source info of $flake
|
||||
|
||||
Use tab completion to browse around ${blue}config${reset}.
|
||||
|
||||
Use ${bold}:r${reset} to ${bold}reload${reset} everything after making a change in the flake.
|
||||
(assuming $flake is a mutable flake ref)
|
||||
|
||||
See ${bold}:?${reset} for more repl commands.
|
||||
|
||||
${attention}warning:${reset} nixos-rebuild repl does not currently enforce pure evaluation.
|
||||
'';
|
||||
scope =
|
||||
assert configuration._type or null == ''configuration'';
|
||||
assert configuration.class or ''nixos'' == ''nixos'';
|
||||
configuration._module.args //
|
||||
configuration._module.specialArgs //
|
||||
{
|
||||
inherit (configuration) config options;
|
||||
inherit flake;
|
||||
};
|
||||
in builtins.seq scope builtins.trace motd scope
|
||||
" "${extraBuildFlags[@]}"
|
||||
fi
|
||||
fi
|
||||
|
||||
if [ "$action" = list-generations ]; then
|
||||
if [ ! -L "$profile" ]; then
|
||||
log "No profile \`$(basename "$profile")' found"
|
||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -30,24 +30,16 @@ let
|
|||
# Override the version of some packages pinned in Home Assistant's setup.py and requirements_all.txt
|
||||
|
||||
(self: super: {
|
||||
aioairq = super.aioairq.overridePythonAttrs (oldAttrs: rec {
|
||||
version = "0.2.4";
|
||||
src = fetchFromGitHub {
|
||||
owner = "CorantGmbH";
|
||||
repo = "aioairq";
|
||||
rev = "refs/tags/v${version}";
|
||||
hash = "sha256-+5FyBfsB3kjyX/V9CdZ072mZ3THyvALyym+uk7/kZLo=";
|
||||
};
|
||||
});
|
||||
|
||||
# https://github.com/home-assistant/core/pull/101913
|
||||
aiohttp = super.aiohttp.overridePythonAttrs (old: rec {
|
||||
version = "3.8.5";
|
||||
version = "3.9.1";
|
||||
src = fetchPypi {
|
||||
inherit (old) pname;
|
||||
inherit version;
|
||||
hash = "sha256-uVUuxSzBR9vxlErHrJivdgLlHqLc0HbtGUyjwNHH0Lw=";
|
||||
hash = "sha256-j8Sah6wmnUUp2kWHHi/7aHTod3nD0OLM2BPAiZIhI50=";
|
||||
};
|
||||
patches = [];
|
||||
doCheck = false;
|
||||
});
|
||||
|
||||
aiowatttime = super.aiowatttime.overridePythonAttrs (oldAttrs: rec {
|
||||
|
@ -60,6 +52,15 @@ let
|
|||
};
|
||||
});
|
||||
|
||||
aioresponses = super.aioresponses.overridePythonAttrs (oldAttrs: rec {
|
||||
pname = "aioresponses";
|
||||
version = "0.7.6";
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
hash = "sha256-95XZ29otYXdIQOfjL1Nm9FdS0a3Bt0yTYq/QFylsfuE=";
|
||||
};
|
||||
});
|
||||
|
||||
astral = super.astral.overridePythonAttrs (oldAttrs: rec {
|
||||
pname = "astral";
|
||||
version = "2.2";
|
||||
|
@ -105,10 +106,10 @@ let
|
|||
rev = "refs/tags/${version}";
|
||||
hash = "sha256-iqlKfpnETLqQwy5sNcK2x/TgmuN2hCfYoHEFK2WWVXI=";
|
||||
};
|
||||
nativeBuildInputs = with super; [
|
||||
nativeBuildInputs = with self; [
|
||||
setuptools
|
||||
];
|
||||
propagatedBuildInputs = with super; [
|
||||
propagatedBuildInputs = with self; [
|
||||
aenum
|
||||
aiohttp
|
||||
pydantic
|
||||
|
@ -135,11 +136,6 @@ let
|
|||
};
|
||||
});
|
||||
|
||||
# moto tests are a nuissance
|
||||
moto = super.moto.overridePythonAttrs (_: {
|
||||
doCheck = false;
|
||||
});
|
||||
|
||||
notifications-android-tv = super.notifications-android-tv.overridePythonAttrs (oldAttrs: rec {
|
||||
version = "0.1.5";
|
||||
format = "setuptools";
|
||||
|
@ -151,11 +147,11 @@ let
|
|||
hash = "sha256-adkcUuPl0jdJjkBINCTW4Kmc16C/HzL+jaRZB/Qr09A=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = with super; [
|
||||
nativeBuildInputs = with self; [
|
||||
setuptools
|
||||
];
|
||||
|
||||
propagatedBuildInputs = with super; [
|
||||
propagatedBuildInputs = with self; [
|
||||
requests
|
||||
];
|
||||
|
||||
|
@ -183,15 +179,6 @@ let
|
|||
};
|
||||
});
|
||||
|
||||
p1monitor = super.p1monitor.overridePythonAttrs (oldAttrs: rec {
|
||||
version = "2.1.1";
|
||||
src = fetchFromGitHub {
|
||||
inherit (oldAttrs.src) owner repo;
|
||||
rev = "refs/tags/v${version}";
|
||||
hash = "sha256-VHY5AWxt5BZd1NQKzsgubEZBLKAlDNm8toyEazPUnDU=";
|
||||
};
|
||||
});
|
||||
|
||||
psutil = super.psutil.overridePythonAttrs (oldAttrs: rec {
|
||||
version = "5.9.6";
|
||||
src = fetchPypi {
|
||||
|
@ -324,7 +311,7 @@ let
|
|||
extraBuildInputs = extraPackages python.pkgs;
|
||||
|
||||
# Don't forget to run parse-requirements.py after updating
|
||||
hassVersion = "2023.11.3";
|
||||
hassVersion = "2023.12.1";
|
||||
|
||||
in python.pkgs.buildPythonApplication rec {
|
||||
pname = "homeassistant";
|
||||
|
@ -337,18 +324,18 @@ in python.pkgs.buildPythonApplication rec {
|
|||
# don't try and fail to strip 6600+ python files, it takes minutes!
|
||||
dontStrip = true;
|
||||
|
||||
# Primary source is the pypi sdist, because it contains translations
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
hash = "sha256-llGHI6LVpTo9m2RMtcDSkW2wWraje2OkVFx5P7lzZ30=";
|
||||
};
|
||||
|
||||
# Secondary source is git for tests
|
||||
gitSrc = fetchFromGitHub {
|
||||
# Primary source is the git, which has the tests and allows bisecting the core
|
||||
src = fetchFromGitHub {
|
||||
owner = "home-assistant";
|
||||
repo = "core";
|
||||
rev = "refs/tags/${version}";
|
||||
hash = "sha256-KD53O+UlAjGfVGp4kbLgpgU7j0A+KqZZT492WmeCOnQ=";
|
||||
hash = "sha256-S9o1xhhqiSRan1BXnN0AndFPfLL0KqqH42WKOi3Yl+g=";
|
||||
};
|
||||
|
||||
# Secondary source is pypi sdist for translations
|
||||
sdist = fetchPypi {
|
||||
inherit pname version;
|
||||
hash = "sha256-e9OtUsluYlNBVmQ8u71dF0Q+wDdV8mvmYFdN8syl5rI=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = with python.pkgs; [
|
||||
|
@ -378,10 +365,9 @@ in python.pkgs.buildPythonApplication rec {
|
|||
"yarl"
|
||||
];
|
||||
|
||||
# copy tests early, so patches apply as they would to the git repo
|
||||
# extract translations from pypi sdist
|
||||
prePatch = ''
|
||||
cp --no-preserve=mode --recursive ${gitSrc}/tests ./
|
||||
chmod u+x tests/auth/providers/test_command_line_cmd.sh
|
||||
tar --extract --gzip --file $sdist --strip-components 1 --wildcards "**/translations"
|
||||
'';
|
||||
|
||||
# leave this in, so users don't have to constantly update their downstream patch handling
|
||||
|
@ -481,6 +467,8 @@ in python.pkgs.buildPythonApplication rec {
|
|||
"--deselect tests/test_config.py::test_merge"
|
||||
# AssertionError: assert 'WARNING' not in '2023-11-10 ...nt abc[L]>\n'"
|
||||
"--deselect=tests/helpers/test_script.py::test_multiple_runs_repeat_choose"
|
||||
# SystemError: PyThreadState_SetAsyncExc failed
|
||||
"--deselect=tests/helpers/test_template.py::test_template_timeout"
|
||||
# tests are located in tests/
|
||||
"tests"
|
||||
];
|
||||
|
|
|
@ -4,7 +4,7 @@ buildPythonPackage rec {
|
|||
# the frontend version corresponding to a specific home-assistant version can be found here
|
||||
# https://github.com/home-assistant/home-assistant/blob/master/homeassistant/components/frontend/manifest.json
|
||||
pname = "home-assistant-frontend";
|
||||
version = "20231030.2";
|
||||
version = "20231208.2";
|
||||
format = "wheel";
|
||||
|
||||
src = fetchPypi {
|
||||
|
@ -12,7 +12,7 @@ buildPythonPackage rec {
|
|||
pname = "home_assistant_frontend";
|
||||
dist = "py3";
|
||||
python = "py3";
|
||||
hash = "sha256-qzodzqWpAXZjwBJkiCyBi5zzfpEqqtauJn2PKZ5UtJ0=";
|
||||
hash = "sha256-JTYZPku5UdnMOllnzyI9tbYgxcewx5tklDooQKJA6p8=";
|
||||
};
|
||||
|
||||
# there is nothing to strip in this package
|
||||
|
|
|
@ -20,7 +20,7 @@
|
|||
|
||||
buildPythonPackage rec {
|
||||
pname = "home-assistant-intents";
|
||||
version = "2023.10.16";
|
||||
version = "2023.12.05";
|
||||
format = "pyproject";
|
||||
|
||||
disabled = pythonOlder "3.9";
|
||||
|
@ -29,7 +29,7 @@ buildPythonPackage rec {
|
|||
owner = "home-assistant";
|
||||
repo = "intents-package";
|
||||
rev = "refs/tags/${version}";
|
||||
hash = "sha256-qW5KzABEEBw2tu5+fAoWd8nCxuvTzEU14M8iaSo2WzE=";
|
||||
hash = "sha256-BVcvlmX5+w7b9uNHA4ZP6Ebj+7ROUgEaAmXAGQrby+s=";
|
||||
fetchSubmodules = true;
|
||||
};
|
||||
|
||||
|
|
|
@ -8,7 +8,7 @@
|
|||
|
||||
buildPythonPackage rec {
|
||||
pname = "homeassistant-stubs";
|
||||
version = "2023.11.3";
|
||||
version = "2023.12.1";
|
||||
format = "pyproject";
|
||||
|
||||
disabled = python.version != home-assistant.python.version;
|
||||
|
@ -17,7 +17,7 @@ buildPythonPackage rec {
|
|||
owner = "KapJI";
|
||||
repo = "homeassistant-stubs";
|
||||
rev = "refs/tags/${version}";
|
||||
hash = "sha256-x3FcUmbUYAUKGAPb85SqJk1kTWFKxpJSX2J+rTRj1KY=";
|
||||
hash = "sha256-RvMEQT/fmUI125rBGNKfngfQTJc/jWiK5t0zxsofbQU=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
|
|
@ -192,11 +192,11 @@ class HomeAssistant:
|
|||
|
||||
|
||||
async def update_core(self, old_version: str, new_version: str) -> None:
|
||||
old_sdist_hash = str(await Nix.eval("home-assistant.src.outputHash"))
|
||||
old_sdist_hash = str(await Nix.eval("home-assistant.sdist.outputHash"))
|
||||
new_sdist_hash = await Nurl.prefetch("https://pypi.org/project/homeassistant/", new_version)
|
||||
print(f"sdist: {old_sdist_hash} -> {new_sdist_hash}")
|
||||
|
||||
old_git_hash = str(await Nix.eval("home-assistant.gitSrc.outputHash"))
|
||||
old_git_hash = str(await Nix.eval("home-assistant.src.outputHash"))
|
||||
new_git_hash = await Nurl.prefetch("https://github.com/home-assistant/core/", new_version)
|
||||
print(f"git: {old_git_hash} -> {new_git_hash}")
|
||||
|
||||
|
|
|
@ -42,5 +42,6 @@ rustPlatform.buildRustPackage rec {
|
|||
homepage = "https://www.apollographql.com/docs/router/";
|
||||
license = licenses.elastic20;
|
||||
maintainers = [ maintainers.bbigras ];
|
||||
knownVulnerabilities = [ "CVE-2023-45812" ];
|
||||
};
|
||||
}
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue