From c68db8ae25cd9563c650a9d8222b174db5dca5fb Mon Sep 17 00:00:00 2001 From: arcnmx Date: Mon, 5 Jun 2023 17:27:26 -0700 Subject: [PATCH] hass pyasn1 override and flake update --- flake.lock | 42 ++++++++++++++++++++--------------------- tewi/home-assistant.nix | 18 ++++++++++++------ 2 files changed, 33 insertions(+), 27 deletions(-) diff --git a/flake.lock b/flake.lock index 4812c39c..6ea60eef 100644 --- a/flake.lock +++ b/flake.lock @@ -3,11 +3,11 @@ "arcexprs": { "flake": false, "locked": { - "lastModified": 1684694579, - "narHash": "sha256-+o8ZA1XrSztvcHnWG8ZZmtBBwScKB2KM+rrJEkzYBNU=", + "lastModified": 1685543665, + "narHash": "sha256-DQ73Cknbo0UG+qL5j1eBy/94NZdoBk9hnXxBocTWtts=", "owner": "arcnmx", "repo": "nixexprs", - "rev": "27593a29cd68be8a383830e8a020d32c26148f23", + "rev": "264b972e5282f1d93bdfacd811bb088566e75592", "type": "github" }, "original": { @@ -20,11 +20,11 @@ "ci": { "flake": false, "locked": { - "lastModified": 1682006050, - "narHash": "sha256-FeBTrfKYmg6fpvhGshyDpryqh2+pGyQspcljeU5KOlk=", + "lastModified": 1685465387, + "narHash": "sha256-FiHlOySOsMlktKdT9Z7yKoldvp5eZ98ndi5FGEaVOHA=", "owner": "arcnmx", "repo": "ci", - "rev": "e846a88553140d940f5562a3dc49b77564ccc6a1", + "rev": "c6386d63723c8c321984d3c10ccc7c082c00aade", "type": "github" }, "original": { @@ -71,11 +71,11 @@ "systems": "systems" }, "locked": { - "lastModified": 1681202837, - "narHash": "sha256-H+Rh19JDwRtpVPAWp64F+rlEtxUWBAQW28eAi3SRSzg=", + "lastModified": 1685518550, + "narHash": "sha256-o2d0KcvaXzTrPRIo0kOLV0/QXHhDQ5DTi+OxcjO8xqY=", "owner": "numtide", "repo": "flake-utils", - "rev": "cfacdce06f30d2b68473a46042957675eebb3401", + "rev": "a1720a10a6cfe8234c0e93907ffe81be440f4cef", "type": "github" }, "original": { @@ -121,11 +121,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1683408522, - "narHash": "sha256-9kcPh6Uxo17a3kK3XCHhcWiV1Yu1kYj22RHiymUhMkU=", + "lastModified": 1685931219, + "narHash": "sha256-8EWeOZ6LKQfgAjB/USffUSELPRjw88A+xTcXnOUvO5M=", "owner": "nixos", "repo": "nixpkgs", - "rev": "897876e4c484f1e8f92009fd11b7d988a121a4e7", + "rev": "7409480d5c8584a1a83c422530419efe4afb0d19", "type": "github" }, "original": { @@ -137,11 +137,11 @@ }, "nixpkgs-stable": { "locked": { - "lastModified": 1684632198, - "narHash": "sha256-SdxMPd0WmU9MnDBuuy7ouR++GftrThmSGL7PCQj/uVI=", + "lastModified": 1685758009, + "narHash": "sha256-IT4Z5WGhafrq+xbDTyuKrRPRQ1f+kVOtE+4JU1CHFeo=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "d0dade110dc7072d67ce27826cfe9ab2ab0cf247", + "rev": "eaf03591711b46d21abc7082a8ebee4681f9dbeb", "type": "github" }, "original": { @@ -153,11 +153,11 @@ }, "nur": { "locked": { - "lastModified": 1684802354, - "narHash": "sha256-CXcFtWDB2ZmvJscFqimJLZ4GvdKlFVP8rnPedjyZUUE=", + "lastModified": 1685980073, + "narHash": "sha256-7BkreZ2cH488dR1XPcdlALj+2g+NvrZdG9ZhwRt0YFI=", "owner": "nix-community", "repo": "nur", - "rev": "acac1be21a068002af642982803900dab614ab07", + "rev": "de817406e39c1f9be28fde1d62c1f1f0c91acb09", "type": "github" }, "original": { @@ -208,11 +208,11 @@ "nixpkgs-stable": "nixpkgs-stable" }, "locked": { - "lastModified": 1684637723, - "narHash": "sha256-0vAxL7MVMhGbTkAyvzLvleELHjVsaS43p+PR1h9gzNQ=", + "lastModified": 1685848844, + "narHash": "sha256-Iury+/SVbAwLES76QJSiKFiQDzmf/8Hsq8j54WF2qyw=", "owner": "Mic92", "repo": "sops-nix", - "rev": "4ccdfb573f323a108a44c13bb7730e42baf962a9", + "rev": "a522e12ee35e50fa7d902a164a9796e420e6e75b", "type": "github" }, "original": { diff --git a/tewi/home-assistant.nix b/tewi/home-assistant.nix index bfc40523..ff5a98a2 100644 --- a/tewi/home-assistant.nix +++ b/tewi/home-assistant.nix @@ -194,12 +194,18 @@ in { zone = {}; sensor = {}; }; - package = pkgs.home-assistant.override { - packageOverrides = self: super: { - pyasn1 = if lib.versionAtLeast super.pyasn1.version "0.5" then throw "unsupported pyasn1 version ${super.pyasn1.version}" - else super.pyasn1; - }; - }; + package = let + inherit (lib) warn versionOlder elem; + inherit (cfg.package) python; + hasBrother = elem "brother" cfg.extraComponents; + # https://github.com/pysnmp/pysnmp/issues/51 + needsPyasn1pin = if versionOlder python.pkgs.pysnmplib.version "6.0" + then true + else warn "pyasn1 pin likely no longer needed" false; + pyasn1prefix = "${python.pkgs.pysnmp-pyasn1}/${python.sitePackages}"; + in pkgs.home-assistant.overrideAttrs (old: { + makeWrapperArgs = old.makeWrapperArgs ++ lib.optional (hasBrother && needsPyasn1pin) "--prefix PYTHONPATH : ${pyasn1prefix}"; + }); extraPackages = python3Packages: with python3Packages; [ psycopg2