diff --git a/pkgs/development/python-modules/slackclient/default.nix b/pkgs/development/python-modules/slackclient/default.nix index 4a3c29272186..cf7b161261ed 100644 --- a/pkgs/development/python-modules/slackclient/default.nix +++ b/pkgs/development/python-modules/slackclient/default.nix @@ -18,7 +18,7 @@ }: buildPythonPackage rec { - pname = "python-slackclient"; + pname = "slackclient"; version = "2.9.3"; disabled = !isPy3k; diff --git a/pkgs/servers/home-assistant/component-packages.nix b/pkgs/servers/home-assistant/component-packages.nix index e46a97b6fa9c..65d304fb90be 100644 --- a/pkgs/servers/home-assistant/component-packages.nix +++ b/pkgs/servers/home-assistant/component-packages.nix @@ -90,7 +90,7 @@ "blueprint" = ps: with ps; [ ]; "bluesound" = ps: with ps; [ xmltodict ]; "bluetooth_le_tracker" = ps: with ps; [ ]; # missing inputs: pygatt[GATTTOOL] - "bluetooth_tracker" = ps: with ps; [ bt_proximity ]; # missing inputs: pybluez + "bluetooth_tracker" = ps: with ps; [ bt_proximity pybluez ]; "bme280" = ps: with ps; [ smbus-cffi ]; # missing inputs: i2csense "bme680" = ps: with ps; [ bme680 smbus-cffi ]; "bmp280" = ps: with ps; [ ]; # missing inputs: RPi.GPIO adafruit-circuitpython-bmp280 @@ -750,7 +750,7 @@ "sky_hub" = ps: with ps; [ ]; # missing inputs: pyskyqhub "skybeacon" = ps: with ps; [ ]; # missing inputs: pygatt[GATTTOOL] "skybell" = ps: with ps; [ skybellpy ]; - "slack" = ps: with ps; [ ]; # missing inputs: slackclient + "slack" = ps: with ps; [ slackclient ]; "sleepiq" = ps: with ps; [ sleepyq ]; "slide" = ps: with ps; [ ]; # missing inputs: goslide-api "sma" = ps: with ps; [ pysma ]; diff --git a/pkgs/servers/home-assistant/default.nix b/pkgs/servers/home-assistant/default.nix index 2865cd1fe591..1ebc381c6cc2 100644 --- a/pkgs/servers/home-assistant/default.nix +++ b/pkgs/servers/home-assistant/default.nix @@ -354,6 +354,7 @@ in with py.pkgs; buildPythonApplication rec { "sleepiq" "sma" "sensor" + "slack" "smarttub" "smtp" "smappee" diff --git a/pkgs/servers/home-assistant/parse-requirements.py b/pkgs/servers/home-assistant/parse-requirements.py index eeb117a984e4..b6ff5662f9e5 100755 --- a/pkgs/servers/home-assistant/parse-requirements.py +++ b/pkgs/servers/home-assistant/parse-requirements.py @@ -124,7 +124,10 @@ def name_to_attr_path(req: str, packages: Dict[str, Dict[str, str]]) -> Optional for name in names: # treat "-" and "_" equally name = re.sub("[-_]", "[-_]", name) - pattern = re.compile("^python\\d\\.\\d-{}-\\d".format(name), re.I) + # python(minor).(major)-(pname)-(version or unstable-date) + # we need the version qualifier, or we'll have multiple matches + # (e.g. pyserial and pyserial-asyncio when looking for pyserial) + pattern = re.compile("^python\\d\\.\\d-{}-(?:\\d|unstable-.*)".format(name), re.I) for attr_path, package in packages.items(): if pattern.match(package["name"]): attr_paths.add(attr_path)