diff --git a/pkgs/development/python-modules/paho-mqtt/1.nix b/pkgs/development/python-modules/paho-mqtt/1.nix new file mode 100644 index 000000000000..6932b26dff79 --- /dev/null +++ b/pkgs/development/python-modules/paho-mqtt/1.nix @@ -0,0 +1,62 @@ +{ + buildPythonPackage, + esphome, + fetchFromGitHub, + lib, + pytestCheckHook, + setuptools, +}: + +let + testing = fetchFromGitHub { + owner = "eclipse"; + repo = "paho.mqtt.testing"; + rev = "a4dc694010217b291ee78ee13a6d1db812f9babd"; + hash = "sha256-SQoNdkWMjnasPjpXQF2yV97MUra8gb27pc3rNoA8Rjw="; + }; +in +buildPythonPackage (finalAttrs: { + pname = "paho-mqtt"; + version = "1.6.1"; + pyproject = true; + + src = fetchFromGitHub { + owner = "eclipse"; + repo = "paho.mqtt.python"; + tag = "v${finalAttrs.version}"; + hash = "sha256-9nH6xROVpmI+iTKXfwv2Ar1PAmWbEunI3HO0pZyK6Rg="; + }; + + build-system = [ setuptools ]; + + pythonImportsCheck = [ "paho.mqtt" ]; + + doCheck = false; + + nativeCheckInputs = [ + pytestCheckHook + ]; + + preCheck = '' + ln -s ${testing} paho.mqtt.testing + + # paho.mqtt not in top-level dir to get caught by this + export PYTHONPATH=".:$PYTHONPATH" + ''; + + disabledTests = [ + # Fails during teardown + # RuntimeError: Client 01-zero-length-clientid.py exited with code None, expected 0 + "test_01_zero_length_clientid" + ]; + + __darwinAllowLocalNetworking = true; + + meta = { + changelog = "https://github.com/eclipse/paho.mqtt.python/blob/${finalAttrs.src.tag}/ChangeLog.txt"; + description = "MQTT version 5.0/3.1.1 client class"; + homepage = "https://eclipse.org/paho"; + license = lib.licenses.epl20; + inherit (esphome.meta) maintainers; + }; +}) diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 1ccb3285fe6d..65e76b0ee766 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -12713,6 +12713,8 @@ self: super: with self; { paho-mqtt = callPackage ../development/python-modules/paho-mqtt/default.nix { }; + paho-mqtt_1 = callPackage ../development/python-modules/paho-mqtt/1.nix { }; + paintcompiler = callPackage ../development/python-modules/paintcompiler { }; pajgps-api = callPackage ../development/python-modules/pajgps-api { };