diff --git a/nixos/doc/manual/from_md/release-notes/rl-2111.section.xml b/nixos/doc/manual/from_md/release-notes/rl-2111.section.xml
index 35f8f91a21b5..2b0bcb4b6e56 100644
--- a/nixos/doc/manual/from_md/release-notes/rl-2111.section.xml
+++ b/nixos/doc/manual/from_md/release-notes/rl-2111.section.xml
@@ -40,6 +40,14 @@
services.sourcehut.
+
+
+ ucarp,
+ an userspace implementation of the Common Address Redundancy
+ Protocol (CARP). Available as
+ networking.ucarp.
+
+
diff --git a/nixos/doc/manual/release-notes/rl-2111.section.md b/nixos/doc/manual/release-notes/rl-2111.section.md
index a199bcfef35f..968fdb0f3be2 100644
--- a/nixos/doc/manual/release-notes/rl-2111.section.md
+++ b/nixos/doc/manual/release-notes/rl-2111.section.md
@@ -18,6 +18,10 @@ In addition to numerous new and upgraded packages, this release has the followin
development. Available as
[services.sourcehut](options.html#opt-services.sourcehut.enable).
+* [ucarp](https://download.pureftpd.org/pub/ucarp/README), an userspace
+ implementation of the Common Address Redundancy Protocol (CARP). Available as
+ [networking.ucarp](options.html#opt-networking.ucarp.enable).
+
## Backward Incompatibilities
* The `staticjinja` package has been upgraded from 1.0.4 to 2.0.0
diff --git a/nixos/modules/module-list.nix b/nixos/modules/module-list.nix
index 2938f79fb16a..1a4c2fb719dc 100644
--- a/nixos/modules/module-list.nix
+++ b/nixos/modules/module-list.nix
@@ -839,6 +839,7 @@
./services/networking/tox-node.nix
./services/networking/toxvpn.nix
./services/networking/tvheadend.nix
+ ./services/networking/ucarp.nix
./services/networking/unbound.nix
./services/networking/unifi.nix
./services/networking/v2ray.nix
diff --git a/nixos/modules/services/monitoring/grafana.nix b/nixos/modules/services/monitoring/grafana.nix
index b243e24591e6..c3e1f72945bf 100644
--- a/nixos/modules/services/monitoring/grafana.nix
+++ b/nixos/modules/services/monitoring/grafana.nix
@@ -94,7 +94,7 @@ let
description = "Name of the datasource. Required.";
};
type = mkOption {
- type = types.enum ["graphite" "prometheus" "cloudwatch" "elasticsearch" "influxdb" "opentsdb" "mysql" "mssql" "postgres" "loki"];
+ type = types.str;
description = "Datasource type. Required.";
};
access = mkOption {
diff --git a/nixos/modules/services/networking/ucarp.nix b/nixos/modules/services/networking/ucarp.nix
new file mode 100644
index 000000000000..9b19a19687bc
--- /dev/null
+++ b/nixos/modules/services/networking/ucarp.nix
@@ -0,0 +1,183 @@
+{ config, lib, pkgs, ... }:
+
+with lib;
+
+let
+ cfg = config.networking.ucarp;
+
+ ucarpExec = concatStringsSep " " (
+ [
+ "${cfg.package}/bin/ucarp"
+ "--interface=${cfg.interface}"
+ "--srcip=${cfg.srcIp}"
+ "--vhid=${toString cfg.vhId}"
+ "--passfile=${cfg.passwordFile}"
+ "--addr=${cfg.addr}"
+ "--advbase=${toString cfg.advBase}"
+ "--advskew=${toString cfg.advSkew}"
+ "--upscript=${cfg.upscript}"
+ "--downscript=${cfg.downscript}"
+ "--deadratio=${toString cfg.deadratio}"
+ ]
+ ++ (optional cfg.preempt "--preempt")
+ ++ (optional cfg.neutral "--neutral")
+ ++ (optional cfg.shutdown "--shutdown")
+ ++ (optional cfg.ignoreIfState "--ignoreifstate")
+ ++ (optional cfg.noMcast "--nomcast")
+ ++ (optional (cfg.extraParam != null) "--xparam=${cfg.extraParam}")
+ );
+in {
+ options.networking.ucarp = {
+ enable = mkEnableOption "ucarp, userspace implementation of CARP";
+
+ interface = mkOption {
+ type = types.str;
+ description = "Network interface to bind to.";
+ example = "eth0";
+ };
+
+ srcIp = mkOption {
+ type = types.str;
+ description = "Source (real) IP address of this host.";
+ };
+
+ vhId = mkOption {
+ type = types.ints.between 1 255;
+ description = "Virtual IP identifier shared between CARP hosts.";
+ example = 1;
+ };
+
+ passwordFile = mkOption {
+ type = types.str;
+ description = "File containing shared password between CARP hosts.";
+ example = "/run/keys/ucarp-password";
+ };
+
+ preempt = mkOption {
+ type = types.bool;
+ description = ''
+ Enable preemptive failover.
+ Thus, this host becomes the CARP master as soon as possible.
+ '';
+ default = false;
+ };
+
+ neutral = mkOption {
+ type = types.bool;
+ description = "Do not run downscript at start if the host is the backup.";
+ default = false;
+ };
+
+ addr = mkOption {
+ type = types.str;
+ description = "Virtual shared IP address.";
+ };
+
+ advBase = mkOption {
+ type = types.ints.unsigned;
+ description = "Advertisement frequency in seconds.";
+ default = 1;
+ };
+
+ advSkew = mkOption {
+ type = types.ints.unsigned;
+ description = "Advertisement skew in seconds.";
+ default = 0;
+ };
+
+ upscript = mkOption {
+ type = types.path;
+ description = ''
+ Command to run after become master, the interface name, virtual address
+ and optional extra parameters are passed as arguments.
+ '';
+ example = ''
+ pkgs.writeScript "upscript" '''
+ #!/bin/sh
+ $\{pkgs.iproute2\}/bin/ip addr add "$2"/24 dev "$1"
+ ''';
+ '';
+ };
+
+ downscript = mkOption {
+ type = types.path;
+ description = ''
+ Command to run after become backup, the interface name, virtual address
+ and optional extra parameters are passed as arguments.
+ '';
+ example = ''
+ pkgs.writeScript "downscript" '''
+ #!/bin/sh
+ $\{pkgs.iproute2\}/bin/ip addr del "$2"/24 dev "$1"
+ ''';
+ '';
+ };
+
+ deadratio = mkOption {
+ type = types.ints.unsigned;
+ description = "Ratio to consider a host as dead.";
+ default = 3;
+ };
+
+ shutdown = mkOption {
+ type = types.bool;
+ description = "Call downscript at exit.";
+ default = false;
+ };
+
+ ignoreIfState = mkOption {
+ type = types.bool;
+ description = "Ignore interface state, e.g., down or no carrier.";
+ default = false;
+ };
+
+ noMcast = mkOption {
+ type = types.bool;
+ description = "Use broadcast instead of multicast advertisements.";
+ default = false;
+ };
+
+ extraParam = mkOption {
+ type = types.nullOr types.str;
+ description = "Extra parameter to pass to the up/down scripts.";
+ default = null;
+ };
+
+ package = mkOption {
+ type = types.package;
+ description = ''
+ Package that should be used for ucarp.
+
+ Please note that the default package, pkgs.ucarp, has not received any
+ upstream updates for a long time and can be considered as unmaintained.
+ '';
+ default = pkgs.ucarp;
+ defaultText = "pkgs.ucarp";
+ };
+ };
+
+ config = mkIf cfg.enable {
+ systemd.services.ucarp = {
+ description = "ucarp, userspace implementation of CARP";
+
+ wantedBy = [ "multi-user.target" ];
+ after = [ "network.target" ];
+
+ serviceConfig = {
+ Type = "exec";
+ ExecStart = ucarpExec;
+
+ ProtectSystem = "strict";
+ ProtectHome = true;
+ PrivateTmp = true;
+ ProtectClock = true;
+ ProtectKernelModules = true;
+ ProtectControlGroups = true;
+ MemoryDenyWriteExecute = true;
+ RestrictRealtime = true;
+ };
+ };
+ };
+
+ meta.maintainers = with lib.maintainers; [ oxzi ];
+}
diff --git a/nixos/tests/all-tests.nix b/nixos/tests/all-tests.nix
index d8fcbde6bc0c..e8c86394831d 100644
--- a/nixos/tests/all-tests.nix
+++ b/nixos/tests/all-tests.nix
@@ -433,6 +433,7 @@ in
trilium-server = handleTestOn ["x86_64-linux"] ./trilium-server.nix {};
tuptime = handleTest ./tuptime.nix {};
turbovnc-headless-server = handleTest ./turbovnc-headless-server.nix {};
+ ucarp = handleTest ./ucarp.nix {};
ucg = handleTest ./ucg.nix {};
udisks2 = handleTest ./udisks2.nix {};
unbound = handleTest ./unbound.nix {};
diff --git a/nixos/tests/ucarp.nix b/nixos/tests/ucarp.nix
new file mode 100644
index 000000000000..1f60f770d3a8
--- /dev/null
+++ b/nixos/tests/ucarp.nix
@@ -0,0 +1,66 @@
+import ./make-test-python.nix ({ pkgs, lib, ...} :
+
+let
+ addrShared = "192.168.0.1";
+ addrHostA = "192.168.0.10";
+ addrHostB = "192.168.0.11";
+
+ mkUcarpHost = addr: { config, pkgs, lib, ... }: {
+ networking.interfaces.eth1.ipv4.addresses = lib.mkForce [
+ { address = addr; prefixLength = 24; }
+ ];
+
+ networking.ucarp = {
+ enable = true;
+ interface = "eth1";
+ srcIp = addr;
+ vhId = 1;
+ passwordFile = "${pkgs.writeText "ucarp-pass" "secure"}";
+ addr = addrShared;
+ upscript = pkgs.writeScript "upscript" ''
+ #!/bin/sh
+ ${pkgs.iproute2}/bin/ip addr add "$2"/24 dev "$1"
+ '';
+ downscript = pkgs.writeScript "downscript" ''
+ #!/bin/sh
+ ${pkgs.iproute2}/bin/ip addr del "$2"/24 dev "$1"
+ '';
+ };
+ };
+in {
+ name = "ucarp";
+ meta.maintainers = with lib.maintainers; [ oxzi ];
+
+ nodes = {
+ hostA = mkUcarpHost addrHostA;
+ hostB = mkUcarpHost addrHostB;
+ };
+
+ testScript = ''
+ def is_master(host):
+ ipOutput = host.succeed("ip addr show dev eth1")
+ return "inet ${addrShared}/24" in ipOutput
+
+
+ start_all()
+
+ # First, let both hosts start and let a master node be selected
+ for host, peer in [(hostA, "${addrHostB}"), (hostB, "${addrHostA}")]:
+ host.wait_for_unit("ucarp.service")
+ host.succeed(f"ping -c 1 {peer}")
+
+ hostA.sleep(5)
+
+ hostA_master, hostB_master = is_master(hostA), is_master(hostB)
+ assert hostA_master != hostB_master, "only one master node is allowed"
+
+ master_host = hostA if hostA_master else hostB
+ backup_host = hostB if hostA_master else hostA
+
+ # Let's crash the master host and let the backup take over
+ master_host.crash()
+
+ backup_host.sleep(5)
+ assert is_master(backup_host), "backup did not take over"
+ '';
+})
diff --git a/pkgs/build-support/skaware/build-skaware-package.nix b/pkgs/build-support/skaware/build-skaware-package.nix
index 7a5db942b2cb..b27b65f48a59 100644
--- a/pkgs/build-support/skaware/build-skaware-package.nix
+++ b/pkgs/build-support/skaware/build-skaware-package.nix
@@ -99,7 +99,7 @@ in stdenv.mkDerivation {
inherit description platforms;
license = lib.licenses.isc;
maintainers = with lib.maintainers;
- [ pmahoney Profpatsch ] ++ maintainers;
+ [ pmahoney Profpatsch qyliss ] ++ maintainers;
};
}
diff --git a/pkgs/development/interpreters/erlang/R23.nix b/pkgs/development/interpreters/erlang/R23.nix
index ee788560dcf4..3ecbf3de2a91 100644
--- a/pkgs/development/interpreters/erlang/R23.nix
+++ b/pkgs/development/interpreters/erlang/R23.nix
@@ -3,6 +3,6 @@
# How to obtain `sha256`:
# nix-prefetch-url --unpack https://github.com/erlang/otp/archive/OTP-${version}.tar.gz
mkDerivation {
- version = "23.3.4.2";
- sha256 = "QAIkiYBhYnUzyRg70SQ4BwjjYqclDA4uruqRNTgB2Sk=";
+ version = "23.3.4.3";
+ sha256 = "wmR0XTMrJ3608HD341lNlYChwxs/8jb12Okw3RNHGCA=";
}
diff --git a/pkgs/development/libraries/amdvlk/default.nix b/pkgs/development/libraries/amdvlk/default.nix
index e3bc04a6d226..5d5277afcd3e 100644
--- a/pkgs/development/libraries/amdvlk/default.nix
+++ b/pkgs/development/libraries/amdvlk/default.nix
@@ -21,13 +21,13 @@ let
in stdenv.mkDerivation rec {
pname = "amdvlk";
- version = "2021.Q2.4";
+ version = "2021.Q2.5";
src = fetchRepoProject {
name = "${pname}-src";
manifest = "https://github.com/GPUOpen-Drivers/AMDVLK.git";
rev = "refs/tags/v-${version}";
- sha256 = "KPWkwbD55BoztF6DPmvau9i1AMhR+5ad5VrrD8I2YyI=";
+ sha256 = "0NJoGk++SHt4dtoUj3UQeW4zFtwa7osczUr+vxi8DG8=";
};
buildInputs = [
diff --git a/pkgs/development/libraries/nsss/default.nix b/pkgs/development/libraries/nsss/default.nix
index 4e71c4d65e6e..527e7d4898e1 100644
--- a/pkgs/development/libraries/nsss/default.nix
+++ b/pkgs/development/libraries/nsss/default.nix
@@ -4,8 +4,8 @@ with skawarePackages;
buildPackage {
pname = "nsss";
- version = "0.1.0.0";
- sha256 = "15rxbwf16wm1la079yr2xn4bccjgd7m8dh6r7bpr6s57cj93i2mq";
+ version = "0.1.0.1";
+ sha256 = "1nair10m7fddp50mpqnwj0qiggnh5qmnffmyzxis5l1ixcav1ir0";
description = "An implementation of a subset of the pwd.h, group.h and shadow.h family of functions.";
diff --git a/pkgs/development/libraries/skalibs/default.nix b/pkgs/development/libraries/skalibs/default.nix
index 3d90a8ebb21c..09530db0532c 100644
--- a/pkgs/development/libraries/skalibs/default.nix
+++ b/pkgs/development/libraries/skalibs/default.nix
@@ -4,8 +4,8 @@ with skawarePackages;
buildPackage {
pname = "skalibs";
- version = "2.10.0.2";
- sha256 = "03qyi77wgcw3nzy7i932wd98d6j7nnzxc8ddl973vf5sa1v3vflb";
+ version = "2.10.0.3";
+ sha256 = "0ka6n5rnxd5sn5lycarf596d5wlak5s535zqqlz0rnhdcnpb105p";
description = "A set of general-purpose C programming libraries";
diff --git a/pkgs/development/libraries/utmps/default.nix b/pkgs/development/libraries/utmps/default.nix
index 107c23dcb59b..be74748cb369 100644
--- a/pkgs/development/libraries/utmps/default.nix
+++ b/pkgs/development/libraries/utmps/default.nix
@@ -4,8 +4,8 @@ with skawarePackages;
buildPackage {
pname = "utmps";
- version = "0.1.0.0";
- sha256 = "09p0k2sgxr7jlsbrn66fzvzf9zxvpjp85y79xk10hxjglypszyml";
+ version = "0.1.0.2";
+ sha256 = "1vjza7m65ziq54q0sv46kb3lss9cmxkkv0n9h3i8505x0h2hlvlb";
description = "A secure utmpx and wtmp implementation";
diff --git a/pkgs/development/python-modules/blinkpy/default.nix b/pkgs/development/python-modules/blinkpy/default.nix
new file mode 100644
index 000000000000..a73514805249
--- /dev/null
+++ b/pkgs/development/python-modules/blinkpy/default.nix
@@ -0,0 +1,48 @@
+{ lib
+, buildPythonPackage
+, pythonOlder
+, fetchFromGitHub
+, python-dateutil
+, python-slugify
+, requests
+, pytestCheckHook
+}:
+
+buildPythonPackage rec {
+ pname = "blinkpy";
+ version = "0.17.1";
+
+ src = fetchFromGitHub {
+ owner = "fronzbot";
+ repo = "blinkpy";
+ rev = "v${version}";
+ sha256 = "11h4r2vkrlxwjig1lay1n5wpny5isfgz85f7lsn8ndnqa2wpsymp";
+ };
+
+ propagatedBuildInputs = [
+ python-dateutil
+ python-slugify
+ requests
+ ];
+
+ checkInputs = [
+ pytestCheckHook
+ ];
+
+ pythonImportsCheck = [
+ "blinkpy"
+ "blinkpy.api"
+ "blinkpy.auth"
+ "blinkpy.blinkpy"
+ "blinkpy.camera"
+ "blinkpy.helpers.util"
+ "blinkpy.sync_module"
+ ];
+
+ meta = with lib; {
+ description = "Python library for the Blink Camera system";
+ homepage = "https://github.com/fronzbot/blinkpy";
+ license = licenses.mit;
+ maintainers = with maintainers; [ dotlambda ];
+ };
+}
diff --git a/pkgs/development/python-modules/garminconnect-ha/default.nix b/pkgs/development/python-modules/garminconnect-ha/default.nix
new file mode 100644
index 000000000000..e3d4cd5b48e9
--- /dev/null
+++ b/pkgs/development/python-modules/garminconnect-ha/default.nix
@@ -0,0 +1,33 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, requests
+}:
+
+buildPythonPackage rec {
+ pname = "garminconnect-ha";
+ version = "0.1.6";
+
+ src = fetchFromGitHub {
+ owner = "cyberjunky";
+ repo = "python-garminconnect-ha";
+ rev = version;
+ sha256 = "0ngas6zikhpja1cdkq64m9pjm4b0z3qaj9g3x88mggy60jsxm1d7";
+ };
+
+ propagatedBuildInputs = [
+ requests
+ ];
+
+ # Project has no tests
+ doCheck = false;
+
+ pythonImportsCheck = [ "garminconnect_ha" ];
+
+ meta = with lib; {
+ description = "Minimal Garmin Connect Python 3 API wrapper for Home Assistant";
+ homepage = "https://github.com/cyberjunky/python-garminconnect-ha";
+ license = licenses.mit;
+ maintainers = with maintainers; [ fab ];
+ };
+}
diff --git a/pkgs/development/python-modules/httpcore/default.nix b/pkgs/development/python-modules/httpcore/default.nix
index 64e2b1144527..7781dbe8b319 100644
--- a/pkgs/development/python-modules/httpcore/default.nix
+++ b/pkgs/development/python-modules/httpcore/default.nix
@@ -17,14 +17,14 @@
buildPythonPackage rec {
pname = "httpcore";
- version = "0.13.4";
+ version = "0.13.6";
disabled = pythonOlder "3.6";
src = fetchFromGitHub {
owner = "encode";
repo = pname;
rev = version;
- sha256 = "0vfdkd3bq14mnjd2gfg3ajsgygmd796md7pv96nicpx20prw3a2p";
+ sha256 = "sha256-7G7jchOQTgcFSGZfoMPFm0NY9ofg5MM5Xn5lV+W9w8k=";
};
propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/pydaikin/default.nix b/pkgs/development/python-modules/pydaikin/default.nix
index 209ef3dbc235..fbb205bb9f78 100644
--- a/pkgs/development/python-modules/pydaikin/default.nix
+++ b/pkgs/development/python-modules/pydaikin/default.nix
@@ -12,14 +12,14 @@
buildPythonPackage rec {
pname = "pydaikin";
- version = "2.4.1";
+ version = "2.4.2";
disabled = pythonOlder "3.6";
src = fetchFromBitbucket {
owner = "mustang51";
repo = pname;
rev = "v${version}";
- sha256 = "1624adp4lqd1n9flnf0wqrcibml2nd19ga3fmxzjg4x5z6767bs3";
+ sha256 = "13cslszjhd1x7j0ja0n0wpy62hb2sdmkrmjl3qhwqfggps2w2wy1";
};
propagatedBuildInputs = [
@@ -28,6 +28,10 @@ buildPythonPackage rec {
urllib3
];
+ # while they have tests, they do not run them in their CI and they fail as of 2.4.2
+ # AttributeError: 'DaikinBRP069' object has no attribute 'last_hour_cool_energy_consumption'
+ doCheck = false;
+
checkInputs = [
freezegun
pytest-aiohttp
diff --git a/pkgs/development/python-modules/pyro4/default.nix b/pkgs/development/python-modules/pyro4/default.nix
index 626560d89b6d..3de7afd9668d 100644
--- a/pkgs/development/python-modules/pyro4/default.nix
+++ b/pkgs/development/python-modules/pyro4/default.nix
@@ -7,7 +7,6 @@
, cloudpickle
, msgpack
, isPy27
-, selectors34
, pytestCheckHook
}:
@@ -15,6 +14,8 @@ buildPythonPackage rec {
pname = "Pyro4";
version = "4.80";
+ disabled = isPy27;
+
src = fetchPypi {
inherit pname version;
sha256 = "46847ca703de3f483fbd0b2d22622f36eff03e6ef7ec7704d4ecaa3964cb2220";
@@ -22,7 +23,7 @@ buildPythonPackage rec {
propagatedBuildInputs = [
serpent
- ] ++ lib.optionals isPy27 [ selectors34 ];
+ ];
buildInputs = [
dill
diff --git a/pkgs/development/python-modules/selectors34/default.nix b/pkgs/development/python-modules/selectors34/default.nix
deleted file mode 100644
index 2209ccf43d26..000000000000
--- a/pkgs/development/python-modules/selectors34/default.nix
+++ /dev/null
@@ -1,29 +0,0 @@
-{ lib
-, buildPythonPackage
-, fetchPypi
-, python
-, six
-}:
-
-buildPythonPackage rec {
- pname = "selectors34";
- version = "1.2";
-
- src = fetchPypi {
- inherit pname version;
- sha256 = "09f5066337f8a76fb5233f267873f89a27a17c10bf79575954894bb71686451c";
- };
-
- propagatedBuildInputs = [ six ];
-
- checkPhase = ''
- ${python.interpreter} setup.py test
- '';
-
- meta = with lib; {
- description = "A backport of the selectors module from Python 3.4";
- homepage = "https://github.com/berkerpeksag/selectors34";
- license = licenses.psfl;
- maintainers = with maintainers; [ prusnak ];
- };
-}
diff --git a/pkgs/os-specific/linux/mdevd/default.nix b/pkgs/os-specific/linux/mdevd/default.nix
index b88e3ad1e6f0..58299ba5e878 100644
--- a/pkgs/os-specific/linux/mdevd/default.nix
+++ b/pkgs/os-specific/linux/mdevd/default.nix
@@ -4,8 +4,8 @@ with skawarePackages;
buildPackage {
pname = "mdevd";
- version = "0.1.3.0";
- sha256 = "0spvw27xxd0m6j8bl8xysmgsx18fl769smr6dsh25s2d5h3sp2dy";
+ version = "0.1.4.0";
+ sha256 = "1lnwk7qa6x7iia0v12i2jckg42ypi35hk3sa7cjm23ngnhiv5lzz";
description = "mdev-compatible Linux hotplug manager daemon";
platforms = lib.platforms.linux;
diff --git a/pkgs/os-specific/linux/s6-linux-init/default.nix b/pkgs/os-specific/linux/s6-linux-init/default.nix
index 41790e5eb781..5d6941259e1b 100644
--- a/pkgs/os-specific/linux/s6-linux-init/default.nix
+++ b/pkgs/os-specific/linux/s6-linux-init/default.nix
@@ -4,8 +4,8 @@ with skawarePackages;
buildPackage {
pname = "s6-linux-init";
- version = "1.0.6.1";
- sha256 = "0sq8ya39a1qs61cdjns8ijwrvxnqd4snk2ab4j5wl9a87i7wixhn";
+ version = "1.0.6.2";
+ sha256 = "06xcmn2a89fvng056lcnnyrl2ak0y7cblkc90lj9a2liyhawy9dr";
description = "A set of minimalistic tools used to create a s6-based init system, including a /sbin/init binary, on a Linux kernel";
platforms = lib.platforms.linux;
diff --git a/pkgs/os-specific/linux/s6-linux-utils/default.nix b/pkgs/os-specific/linux/s6-linux-utils/default.nix
index 132a0b49574c..3596ab23e72b 100644
--- a/pkgs/os-specific/linux/s6-linux-utils/default.nix
+++ b/pkgs/os-specific/linux/s6-linux-utils/default.nix
@@ -4,8 +4,8 @@ with skawarePackages;
buildPackage {
pname = "s6-linux-utils";
- version = "2.5.1.4";
- sha256 = "02gxzc9igid2kf2rvm3v6kc9806mpjmdq7cpanv4cml0ip68vbfq";
+ version = "2.5.1.5";
+ sha256 = "1fj5ldlrc6bx40pphg29rp3byd6fal6869v85kw86c2kdgrxn063";
description = "A set of minimalistic Linux-specific system utilities";
platforms = lib.platforms.linux;
diff --git a/pkgs/servers/dns/knot-dns/default.nix b/pkgs/servers/dns/knot-dns/default.nix
index 11adceb0f74d..394c76dbdb23 100644
--- a/pkgs/servers/dns/knot-dns/default.nix
+++ b/pkgs/servers/dns/knot-dns/default.nix
@@ -1,17 +1,17 @@
{ lib, stdenv, fetchurl, pkg-config, gnutls, liburcu, lmdb, libcap_ng, libidn2, libunistring
, systemd, nettle, libedit, zlib, libiconv, libintl, libmaxminddb, libbpf, nghttp2
-, autoreconfHook
+, autoreconfHook, nixosTests
}:
let inherit (lib) optional optionals; in
stdenv.mkDerivation rec {
pname = "knot-dns";
- version = "3.0.6";
+ version = "3.0.7";
src = fetchurl {
url = "https://secure.nic.cz/files/knot-dns/knot-${version}.tar.xz";
- sha256 = "63756ac5a00c3e4a066ed231a287faef5963a9183d77326e30bf0644cdf74f86";
+ sha256 = "2bad8be0be95c8f54a26d1e16299e65f31ae1b34bd6ad3819aa50e7b40521484";
};
outputs = [ "bin" "out" "dev" ];
@@ -56,6 +56,8 @@ stdenv.mkDerivation rec {
rm -r "$out"/lib/*.la
'';
+ passthru.tests = { inherit (nixosTests) knot; };
+
meta = with lib; {
description = "Authoritative-only DNS server from .cz domain registry";
homepage = "https://knot-dns.cz";
diff --git a/pkgs/servers/home-assistant/component-packages.nix b/pkgs/servers/home-assistant/component-packages.nix
index 04d3b5baa4c1..04abaab961a9 100644
--- a/pkgs/servers/home-assistant/component-packages.nix
+++ b/pkgs/servers/home-assistant/component-packages.nix
@@ -2,7 +2,7 @@
# Do not edit!
{
- version = "2021.6.4";
+ version = "2021.6.5";
components = {
"abode" = ps: with ps; [ abodepy ];
"accuweather" = ps: with ps; [ accuweather ];
@@ -82,7 +82,7 @@
"bizkaibus" = ps: with ps; [ ]; # missing inputs: bizkaibus
"blackbird" = ps: with ps; [ pyblackbird ];
"blebox" = ps: with ps; [ blebox-uniapi ];
- "blink" = ps: with ps; [ ]; # missing inputs: blinkpy
+ "blink" = ps: with ps; [ blinkpy ];
"blinksticklight" = ps: with ps; [ BlinkStick ];
"blinkt" = ps: with ps; [ ]; # missing inputs: blinkt
"blockchain" = ps: with ps; [ ]; # missing inputs: python-blockchain-api
@@ -293,7 +293,7 @@
"futurenow" = ps: with ps; [ pyfnip ];
"garadget" = ps: with ps; [ ];
"garages_amsterdam" = ps: with ps; [ garages-amsterdam ];
- "garmin_connect" = ps: with ps; [ garminconnect-aio ];
+ "garmin_connect" = ps: with ps; [ garminconnect-ha ];
"gc100" = ps: with ps; [ ]; # missing inputs: python-gc100
"gdacs" = ps: with ps; [ aio-georss-gdacs ];
"generic" = ps: with ps; [ ];
diff --git a/pkgs/servers/home-assistant/default.nix b/pkgs/servers/home-assistant/default.nix
index eb2fa70bbb92..ac84462d9f39 100644
--- a/pkgs/servers/home-assistant/default.nix
+++ b/pkgs/servers/home-assistant/default.nix
@@ -3,7 +3,6 @@
, fetchFromGitHub
, python3
, inetutils
-, tzdata
, nixosTests
# Look up dependencies of specified components in component-packages.nix
@@ -52,12 +51,12 @@ let
# https://github.com/home-assistant/core/pull/48137 was merged
(self: super: {
iaqualink = super.iaqualink.overridePythonAttrs (oldAttrs: rec {
- version = "0.3.4";
+ version = "0.3.90";
src = fetchFromGitHub {
owner = "flz";
repo = "iaqualink-py";
rev = "v${version}";
- sha256 = "16mn6nd9x3hm6j6da99qhwbqs95hh8wx21r1h1m9csl76z77n9lh";
+ sha256 = "0c8ckbbr1n8gx5k63ymgyfkbz3d0rbdvghg8fqdvbg4nrigrs5v0";
};
checkInputs = oldAttrs.checkInputs ++ [ python3.pkgs.asynctest ];
});
@@ -181,7 +180,7 @@ let
extraBuildInputs = extraPackages py.pkgs;
# Don't forget to run parse-requirements.py after updating
- hassVersion = "2021.6.4";
+ hassVersion = "2021.6.5";
in with py.pkgs; buildPythonApplication rec {
pname = "homeassistant";
@@ -200,7 +199,7 @@ in with py.pkgs; buildPythonApplication rec {
owner = "home-assistant";
repo = "core";
rev = version;
- sha256 = "058dx5hg0a3zvd85sxglbadigfzajmzx8i5jxvw0ww9yp8002qj1";
+ sha256 = "1cp294hy35k9hjbp8iqmaf1m5qbbkh3jwf92ym49waw8di5a5wvh";
};
# leave this in, so users don't have to constantly update their downstream patch handling
@@ -219,7 +218,7 @@ in with py.pkgs; buildPythonApplication rec {
'';
propagatedBuildInputs = [
- # Only packages required in setup.py + hass-frontend
+ # Only packages required in setup.py
aiohttp
astral
async-timeout
@@ -308,6 +307,7 @@ in with py.pkgs; buildPythonApplication rec {
"binary_sensor"
"blackbird"
"blebox"
+ "blink"
"blueprint"
"bluetooth_le_tracker"
"bond"
@@ -788,9 +788,6 @@ in with py.pkgs; buildPythonApplication rec {
# put ping binary into PATH, e.g. for wake_on_lan tests
export PATH=${inetutils}/bin:$PATH
- # set up zoneinfo data for backports-zoneinfo in pvpc_hourly_pricing tests
- export PYTHONTZPATH="${tzdata}/share/zoneinfo"
-
# error out when component test directory is missing, otherwise hidden by xdist execution :(
for component in ${lib.concatStringsSep " " (map lib.escapeShellArg componentTests)}; do
test -d "tests/components/$component" || {
@@ -801,11 +798,10 @@ in with py.pkgs; buildPythonApplication rec {
'';
passthru = {
- inherit (py.pkgs) hass-frontend;
+ python = py;
tests = {
inherit (nixosTests) home-assistant;
};
- python = py;
};
meta = with lib; {
diff --git a/pkgs/servers/home-assistant/parse-requirements.py b/pkgs/servers/home-assistant/parse-requirements.py
index 5d8678a6267f..2cdc44caaae9 100755
--- a/pkgs/servers/home-assistant/parse-requirements.py
+++ b/pkgs/servers/home-assistant/parse-requirements.py
@@ -183,8 +183,7 @@ def main() -> None:
if attr_path is not None:
# Add attribute path without "python3Packages." prefix
attr_paths.append(attr_path[len(PKG_SET + ".") :])
- # home-assistant-frontend is always in propagatedBuildInputs
- elif name != 'home-assistant-frontend':
+ else:
missing_reqs.append(name)
else:
build_inputs[component] = (attr_paths, missing_reqs)
diff --git a/pkgs/servers/home-assistant/update.sh b/pkgs/servers/home-assistant/update.sh
index e80b7acbed0f..5ed865f411e2 100755
--- a/pkgs/servers/home-assistant/update.sh
+++ b/pkgs/servers/home-assistant/update.sh
@@ -26,7 +26,7 @@ sed -i -e "s/hassVersion =.*/hassVersion = \"${TARGET_VERSION}\";/" \
./parse-requirements.py
(
cd ../../..
- nix-update --version "$FRONTEND_VERSION" home-assistant.hass-frontend
+ nix-update --version "$FRONTEND_VERSION" home-assistant.python.pkgs.home-assistant-frontend
nix-update --version "$TARGET_VERSION" --build home-assistant
)
diff --git a/pkgs/servers/matrix-synapse/default.nix b/pkgs/servers/matrix-synapse/default.nix
index 0fce99819671..c65627311439 100644
--- a/pkgs/servers/matrix-synapse/default.nix
+++ b/pkgs/servers/matrix-synapse/default.nix
@@ -12,11 +12,11 @@ let
in
buildPythonApplication rec {
pname = "matrix-synapse";
- version = "1.35.1";
+ version = "1.36.0";
src = fetchPypi {
inherit pname version;
- sha256 = "sha256-MJ3RG60rWbcfQxhj34k99AFg8TsPd3ECEw/x2+xU1js=";
+ sha256 = "sha256-OMbSd64mD2+6GVUxGL4lvQlKAiBuen0PjvyVdk/ePbI=";
};
patches = [
diff --git a/pkgs/servers/ucarp/default.nix b/pkgs/servers/ucarp/default.nix
new file mode 100644
index 000000000000..321a725cc89a
--- /dev/null
+++ b/pkgs/servers/ucarp/default.nix
@@ -0,0 +1,28 @@
+{ stdenv, lib, fetchurl, libpcap }:
+
+stdenv.mkDerivation rec {
+ pname = "ucarp";
+ version = "1.5.2";
+
+ src = fetchurl {
+ url = "https://download.pureftpd.org/pub/ucarp/ucarp-${version}.tar.bz2";
+ sha256 = "0qidz5sr55nxlmnl8kcbjsrff2j97b44h9l1dmhvvjl46iji7q7j";
+ };
+
+ buildInputs = [ libpcap ];
+
+ meta = with lib; {
+ description = "Userspace implementation of CARP";
+ longDescription = ''
+ UCARP allows a couple of hosts to share common virtual IP addresses in
+ order to provide automatic failover. It is a portable userland
+ implementation of the secure and patent-free Common Address Redundancy
+ Protocol (CARP, OpenBSD's alternative to the patents-bloated VRRP).
+
+ Warning: This package has not received any upstream updates for a long
+ time and can be considered as unmaintained.
+ '';
+ license = with licenses; [ isc bsdOriginal bsd2 gpl2Plus ];
+ maintainers = with maintainers; [ oxzi ];
+ };
+}
diff --git a/pkgs/tools/misc/dua/default.nix b/pkgs/tools/misc/dua/default.nix
index 32c5d3b47457..20288bf3f5e7 100644
--- a/pkgs/tools/misc/dua/default.nix
+++ b/pkgs/tools/misc/dua/default.nix
@@ -2,7 +2,7 @@
rustPlatform.buildRustPackage rec {
pname = "dua";
- version = "2.13.0";
+ version = "2.13.1";
buildInputs = lib.optionals stdenv.isDarwin [ libiconv ];
@@ -10,7 +10,7 @@ rustPlatform.buildRustPackage rec {
owner = "Byron";
repo = "dua-cli";
rev = "v${version}";
- sha256 = "sha256-gJOEMp2Ex9gBsvYOmIKH7WNLQejiJhY8wnw2JYxcUU4=";
+ sha256 = "sha256-6xSRsLM1DD1xMjOGzHMDVLibrJlu9lN9OoSV7B/WMT0=";
# Remove unicode file names which leads to different checksums on HFS+
# vs. other filesystems because of unicode normalisation.
extraPostFetch = ''
@@ -18,7 +18,7 @@ rustPlatform.buildRustPackage rec {
'';
};
- cargoSha256 = "sha256-cN5rURv1RmesLzwm3ZXyGJXxvFeIbpTb6kWzJSKgX5o=";
+ cargoSha256 = "sha256-udz1EtPchEHxkvvVFnkwSOpFz4XEBGOXRz8qWREyzvc=";
doCheck = false;
diff --git a/pkgs/tools/misc/execline/default.nix b/pkgs/tools/misc/execline/default.nix
index 705a8a554c18..095e43b9d3ee 100644
--- a/pkgs/tools/misc/execline/default.nix
+++ b/pkgs/tools/misc/execline/default.nix
@@ -4,8 +4,8 @@ with skawarePackages;
buildPackage {
pname = "execline";
- version = "2.8.0.0";
- sha256 = "0vbn4pdazy6x6213vn42k0khcij5bvkbrcfg7nw6inhf8154nx77";
+ version = "2.8.0.1";
+ sha256 = "1v9swmhw2rcrr9fmkmd7qh8qq0kslhmvxwz2a3bhan9ksabz8wx3";
description = "A small scripting language, to be used in place of a shell in non-interactive scripts";
diff --git a/pkgs/tools/misc/s6-portable-utils/default.nix b/pkgs/tools/misc/s6-portable-utils/default.nix
index 731f6c48785f..d6f475a408ef 100644
--- a/pkgs/tools/misc/s6-portable-utils/default.nix
+++ b/pkgs/tools/misc/s6-portable-utils/default.nix
@@ -2,13 +2,10 @@
with skawarePackages;
-let
+buildPackage {
pname = "s6-portable-utils";
-
-in buildPackage {
- pname = pname;
- version = "2.2.3.1";
- sha256 = "1ks1ch5v3p2z8y8wp5fmzzgjrqn2l5sj1sgfp8vv6wy8psd8mrj3";
+ version = "2.2.3.2";
+ sha256 = "173nmygkp7ky3093dg4rx3ahvyl7ll86z8qj6pl3jd96xb9s49v6";
description = "A set of tiny general Unix utilities optimized for simplicity and small size";
@@ -28,7 +25,7 @@ in buildPackage {
rm $(find -name "s6-*" -type f -mindepth 1 -maxdepth 1 -executable)
rm seekablepipe
- mv doc $doc/share/doc/${pname}/html
+ mv doc $doc/share/doc/s6-portable-utils/html
'';
diff --git a/pkgs/tools/networking/s6-dns/default.nix b/pkgs/tools/networking/s6-dns/default.nix
index 5036b1a87eaa..a4ebf5beef9b 100644
--- a/pkgs/tools/networking/s6-dns/default.nix
+++ b/pkgs/tools/networking/s6-dns/default.nix
@@ -4,8 +4,8 @@ with skawarePackages;
buildPackage {
pname = "s6-dns";
- version = "2.3.5.0";
- sha256 = "0h5p5dbkkdadahrp4pqhc3x9ds758i6djy49k5zrn7mm5k4722wz";
+ version = "2.3.5.1";
+ sha256 = "0qsgqwdr5ms337fc9f2b4aa5cr7myvbzndvgkgswnrdwszjm078c";
description = "A suite of DNS client programs and libraries for Unix systems";
diff --git a/pkgs/tools/networking/s6-networking/default.nix b/pkgs/tools/networking/s6-networking/default.nix
index be19656f1c2d..e0c8eda9c749 100644
--- a/pkgs/tools/networking/s6-networking/default.nix
+++ b/pkgs/tools/networking/s6-networking/default.nix
@@ -19,8 +19,8 @@ assert sslSupportEnabled -> sslLibs ? ${sslSupport};
buildPackage {
pname = "s6-networking";
- version = "2.4.1.0";
- sha256 = "023wnayv1gddklnsh3qv7i5jfy2fisbp24wa0nzjg0nfq3p807yc";
+ version = "2.4.1.1";
+ sha256 = "0m55ibx7k2wgrqbpci1n667ij0h925ajzggxalq2pj65kmwcmyx3";
description = "A suite of small networking utilities for Unix systems";
diff --git a/pkgs/tools/system/s6-rc/default.nix b/pkgs/tools/system/s6-rc/default.nix
index 20c23e150519..532575d16c88 100644
--- a/pkgs/tools/system/s6-rc/default.nix
+++ b/pkgs/tools/system/s6-rc/default.nix
@@ -4,8 +4,8 @@ with skawarePackages;
buildPackage {
pname = "s6-rc";
- version = "0.5.2.1";
- sha256 = "02pszbi440wagx2qp8aqj9mv5wm2qisw9lkq7mbnbnxxw9azlhi8";
+ version = "0.5.2.2";
+ sha256 = "12bzc483jpd16xmhfsfrib84daj1k3kwy5s5nc18ap60apa1r39a";
description = "A service manager for s6-based systems";
platforms = lib.platforms.linux;
diff --git a/pkgs/tools/system/s6/default.nix b/pkgs/tools/system/s6/default.nix
index 16fd1be63394..e9d096a7ab0e 100644
--- a/pkgs/tools/system/s6/default.nix
+++ b/pkgs/tools/system/s6/default.nix
@@ -4,8 +4,8 @@ with skawarePackages;
buildPackage {
pname = "s6";
- version = "2.10.0.2";
- sha256 = "08bcrp7ck1l3wmjyzxi3vgk6j0n2jfymxs4rjjw4if40f3lgqfmj";
+ version = "2.10.0.3";
+ sha256 = "0mw7blp8dwr09z58m9mrxwmmvvpnjzq9klcf1vgm0hbha4qkf88x";
description = "skarnet.org's small & secure supervision software suite";
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index b813443e70fc..c160cdbf3384 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -9403,6 +9403,8 @@ in
ubertooth = callPackage ../applications/radio/ubertooth { };
+ ucarp = callPackage ../servers/ucarp { };
+
ucl = callPackage ../development/libraries/ucl { };
ucspi-tcp = callPackage ../tools/networking/ucspi-tcp { };
diff --git a/pkgs/top-level/python-aliases.nix b/pkgs/top-level/python-aliases.nix
index 15e09c0f7bb7..b9c37c960908 100644
--- a/pkgs/top-level/python-aliases.nix
+++ b/pkgs/top-level/python-aliases.nix
@@ -48,6 +48,7 @@ mapAliases ({
pytest-pep8 = pytestpep8; # added 2021-01-04
pytestpep8 = throw "pytestpep8 was removed because it is abandoned and no longer compatible with pytest v6.0"; # added 2020-12-10
qasm2image = throw "qasm2image is no longer maintained (since November 2018), and is not compatible with the latest pythonPackages.qiskit versions."; # added 2020-12-09
+ selectors34 = throw "selectors34 has been removed: functionality provided by Python itself; archived by upstream."; # Added 2021-06-10
setuptools_scm = setuptools-scm; # added 2021-06-03
smart_open = smart-open; # added 2021-03-14
smmap2 = throw "smmap2 has been deprecated, use smmap instead."; # added 2020-03-14
diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix
index 865c6aa8fcb3..528d5dffbf76 100644
--- a/pkgs/top-level/python-packages.nix
+++ b/pkgs/top-level/python-packages.nix
@@ -1109,6 +1109,8 @@ in {
blinker = callPackage ../development/python-modules/blinker { };
+ blinkpy = callPackage ../development/python-modules/blinkpy { };
+
BlinkStick = callPackage ../development/python-modules/blinkstick { };
blis = callPackage ../development/python-modules/blis { };
@@ -2716,6 +2718,8 @@ in {
garminconnect-aio = callPackage ../development/python-modules/garminconnect-aio { };
+ garminconnect-ha = callPackage ../development/python-modules/garminconnect-ha { };
+
gast = callPackage ../development/python-modules/gast { };
garages-amsterdam = callPackage ../development/python-modules/garages-amsterdam { };
@@ -7676,8 +7680,6 @@ in {
selectors2 = callPackage ../development/python-modules/selectors2 { };
- selectors34 = callPackage ../development/python-modules/selectors34 { };
-
selenium = callPackage ../development/python-modules/selenium { };
semantic-version = callPackage ../development/python-modules/semantic-version { };