diff --git a/pkgs/development/python-modules/moto/default.nix b/pkgs/development/python-modules/moto/default.nix index 8ac8f71ecbdf..ae1f5d634309 100644 --- a/pkgs/development/python-modules/moto/default.nix +++ b/pkgs/development/python-modules/moto/default.nix @@ -227,7 +227,7 @@ buildPythonPackage rec { # AssertionError: assert ResourceWarning not in [, ] "test_delete_object_with_version" - # KeyError beucase of ap-southeast-5-apse5-az + # KeyError because of ap-southeast-5-apse5-az "test_zoneId_in_availability_zones" # Parameter validation fails diff --git a/pkgs/tools/misc/ntfy/default.nix b/pkgs/tools/misc/ntfy/default.nix index c79ca23e1b5e..5cb782c08d04 100644 --- a/pkgs/tools/misc/ntfy/default.nix +++ b/pkgs/tools/misc/ntfy/default.nix @@ -1,10 +1,10 @@ { lib, stdenv, - python39, + python3, fetchFromGitHub, fetchpatch, - withXmpp ? !stdenv.hostPlatform.isDarwin, + withXmpp ? false, # sleekxmpp doesn't support python 3.10, see https://github.com/dschep/ntfy/issues/266 withMatrix ? true, withSlack ? true, withEmoji ? true, @@ -13,15 +13,13 @@ }: let - python = python39.override { + python = python3.override { self = python; packageOverrides = self: super: { ntfy-webpush = self.callPackage ./webpush.nix { }; # databases, on which slack-sdk depends, is incompatible with SQLAlchemy 2.0 sqlalchemy = super.sqlalchemy_1_4; - - django = super.django_3; }; }; in @@ -38,40 +36,6 @@ python.pkgs.buildPythonApplication rec { sha256 = "09f02cn4i1l2aksb3azwfb70axqhn7d0d0vl2r6640hqr74nc1cv"; }; - nativeCheckInputs = with python.pkgs; [ - mock - ]; - - propagatedBuildInputs = - with python.pkgs; - ( - [ - requests - ruamel-yaml - appdirs - ntfy-webpush - ] - ++ (lib.optionals withXmpp [ - sleekxmpp - dnspython - ]) - ++ (lib.optionals withMatrix [ - matrix-client - ]) - ++ (lib.optionals withSlack [ - slack-sdk - ]) - ++ (lib.optionals withEmoji [ - emoji - ]) - ++ (lib.optionals withPid [ - psutil - ]) - ++ (lib.optionals withDbus [ - dbus-python - ]) - ); - patches = [ # Fix Slack integration no longer working. # From https://github.com/dschep/ntfy/pull/229 - "Swap Slacker for Slack SDK" @@ -87,6 +51,23 @@ python.pkgs.buildPythonApplication rec { url = "https://github.com/dschep/ntfy/commit/4128942bb7a706117e7154a50a73b88f531631fe.patch"; sha256 = "sha256-V8dIy/K957CPFQQS1trSI3gZOjOcVNQLgdWY7g17bRw="; }) + # Change getargspec to getfullargspec for python 3.11 compatibility + (fetchpatch { + url = "https://github.com/dschep/ntfy/commit/71be9766ea041d2df6ebbce2781f980eea002852.patch"; + hash = "sha256-6OChaTj4g3gxVDScc/JksBISHuq+5fbNQregchSXYaQ="; + }) + # Fix compatibility with Python 3.11 + # https://github.com/dschep/ntfy/pull/271 + (fetchpatch { + url = "https://github.com/dschep/ntfy/pull/271/commits/444b60bec7de474d029cac184e82885011dd1474.patch"; + hash = "sha256-PKTu8cOpws1z6f1T4uIi2iCJAoAwu+X0Pe7XnHYtHuI="; + }) + # Fix compatibility with Python 3.12 + # https://github.com/dschep/ntfy/pull/271 + (fetchpatch { + url = "https://github.com/dschep/ntfy/pull/271/commits/d49ab9f9dba4966a44b5f0c6911741edabd35f6b.patch"; + hash = "sha256-qTUWMS8EXWYCK/ZL0Us7iJp62UIKwYT1BqDy59832ig="; + }) ]; postPatch = '' @@ -95,13 +76,56 @@ python.pkgs.buildPythonApplication rec { --replace "':sys_platform == \"darwin\"'" "'darwin'" ''; - checkPhase = '' - HOME=$(mktemp -d) ${python.interpreter} setup.py test + dependencies = + with python.pkgs; + ( + [ + requests + ruamel-yaml + appdirs + ntfy-webpush + ] + ++ lib.optionals withXmpp [ + sleekxmpp + dnspython + ] + ++ lib.optionals withMatrix [ + matrix-client + ] + ++ lib.optionals withSlack [ + slack-sdk + ] + ++ lib.optionals withEmoji [ + emoji + ] + ++ lib.optionals withPid [ + psutil + ] + ++ lib.optionals withDbus [ + dbus-python + ] + ); + + nativeCheckInputs = with python.pkgs; [ + mock + pytestCheckHook + ]; + + disabledTests = [ + "test_xmpp" + ]; + + disabledTestPaths = [ + "tests/test_xmpp.py" + ]; + + preCheck = '' + export HOME=$(mktemp -d) ''; meta = with lib; { description = "Utility for sending notifications, on demand and when commands finish"; - homepage = "http://ntfy.rtfd.org/"; + homepage = "https://ntfy.rtfd.org/"; license = licenses.gpl3; maintainers = with maintainers; [ kamilchm ]; mainProgram = "ntfy";