From e0bd71bb7c0c841bb24f896a6ba53e77ce5328dc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Robert=20Sch=C3=BCtz?= Date: Mon, 19 Jan 2026 21:15:56 -0800 Subject: [PATCH 1/2] ntfy: remove XMPP support It didn't work anyway because sleekxmpp is broken. --- pkgs/by-name/nt/ntfy/package.nix | 11 +++-------- 1 file changed, 3 insertions(+), 8 deletions(-) diff --git a/pkgs/by-name/nt/ntfy/package.nix b/pkgs/by-name/nt/ntfy/package.nix index d21624f41393..0de848d58f96 100644 --- a/pkgs/by-name/nt/ntfy/package.nix +++ b/pkgs/by-name/nt/ntfy/package.nix @@ -4,7 +4,6 @@ python3Packages, fetchFromGitHub, writableTmpDirAsHomeHook, - withXmpp ? false, # sleekxmpp doesn't support python 3.10, see https://github.com/dschep/ntfy/issues/266 withMatrix ? true, withSlack ? true, withEmoji ? true, @@ -42,10 +41,6 @@ python3Packages.buildPythonApplication rec { appdirs ntfy-webpush ] - ++ lib.optionals withXmpp [ - sleekxmpp - dnspython - ] ++ lib.optionals withMatrix [ matrix-client ] @@ -72,12 +67,12 @@ python3Packages.buildPythonApplication rec { disabledTests = [ # AssertionError: {'backends': ['default']} != {} "test_default_config" - ] - ++ lib.optionals (!withXmpp) [ + + # sleekxmpp was deprecated in favor of slixmpp "test_xmpp" ]; - disabledTestPaths = lib.optionals (!withXmpp) [ + disabledTestPaths = [ "tests/test_xmpp.py" ]; From b2cab3cc9bf90989dfaa13b56d4f8dadcaaccb0c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Robert=20Sch=C3=BCtz?= Date: Mon, 19 Jan 2026 21:23:45 -0800 Subject: [PATCH 2/2] python3Packages.sleekxmpp: drop --- .../python-modules/sleekxmpp/default.nix | 37 ------------- .../sleekxmpp/dnspython-ip6.patch | 55 ------------------- pkgs/top-level/python-aliases.nix | 1 + pkgs/top-level/python-packages.nix | 2 - 4 files changed, 1 insertion(+), 94 deletions(-) delete mode 100644 pkgs/development/python-modules/sleekxmpp/default.nix delete mode 100644 pkgs/development/python-modules/sleekxmpp/dnspython-ip6.patch diff --git a/pkgs/development/python-modules/sleekxmpp/default.nix b/pkgs/development/python-modules/sleekxmpp/default.nix deleted file mode 100644 index 382cc7c28e7c..000000000000 --- a/pkgs/development/python-modules/sleekxmpp/default.nix +++ /dev/null @@ -1,37 +0,0 @@ -{ - stdenv, - lib, - fetchPypi, - buildPythonPackage, - pythonAtLeast, - dnspython, - pyasn1, -}: - -buildPythonPackage rec { - pname = "sleekxmpp"; - version = "1.3.3"; - format = "setuptools"; - - disabled = pythonAtLeast "3.10"; # Deprecated in favor of Slixmpp - - propagatedBuildInputs = [ - dnspython - pyasn1 - ]; - - patches = [ ./dnspython-ip6.patch ]; - - src = fetchPypi { - inherit pname version; - sha256 = "d213c1de71d92505f95ced0460ee0f84fdc4ddcacb7d7dd343739ed4028e5569"; - }; - - meta = { - broken = - (stdenv.hostPlatform.isLinux && stdenv.hostPlatform.isAarch64) || stdenv.hostPlatform.isDarwin; - description = "XMPP library for Python"; - license = lib.licenses.mit; - homepage = "http://sleekxmpp.com/"; - }; -} diff --git a/pkgs/development/python-modules/sleekxmpp/dnspython-ip6.patch b/pkgs/development/python-modules/sleekxmpp/dnspython-ip6.patch deleted file mode 100644 index d8d6eb106838..000000000000 --- a/pkgs/development/python-modules/sleekxmpp/dnspython-ip6.patch +++ /dev/null @@ -1,55 +0,0 @@ ---- a/sleekxmpp/xmlstream/resolver.py -+++ b/sleekxmpp/xmlstream/resolver.py -@@ -175,6 +175,9 @@ def get_A(host, resolver=None, use_dnspy - """ - log.debug("DNS: Querying %s for A records." % host) - -+ if isinstance(host, bytes): -+ host = host.decode("utf-8") -+ - # If not using dnspython, attempt lookup using the OS level - # getaddrinfo() method. - if resolver is None or not use_dnspython: -@@ -189,7 +192,10 @@ def get_A(host, resolver=None, use_dnspy - # Using dnspython: - try: - recs = resolver.query(host, dns.rdatatype.A) -- return [rec.to_text() for rec in recs] -+ if isinstance(recs[0].to_text(), bytes): -+ return [rec.to_text().decode("utf-8") for rec in recs] -+ else: -+ return [rec.to_text() for rec in recs] - except (dns.resolver.NXDOMAIN, dns.resolver.NoAnswer): - log.debug("DNS: No A records for %s" % host) - return [] -@@ -222,6 +228,9 @@ def get_AAAA(host, resolver=None, use_dn - """ - log.debug("DNS: Querying %s for AAAA records." % host) - -+ if isinstance(host, bytes): -+ host = host.decode("utf-8") -+ - # If not using dnspython, attempt lookup using the OS level - # getaddrinfo() method. - if resolver is None or not use_dnspython: -@@ -240,7 +249,10 @@ def get_AAAA(host, resolver=None, use_dn - # Using dnspython: - try: - recs = resolver.query(host, dns.rdatatype.AAAA) -- return [rec.to_text() for rec in recs] -+ if isinstance(recs[0].to_text(), bytes): -+ return [rec.to_text().decode("utf-8") for rec in recs] -+ else: -+ return [rec.to_text() for rec in recs] - except (dns.resolver.NXDOMAIN, dns.resolver.NoAnswer): - log.debug("DNS: No AAAA records for %s" % host) - return [] -@@ -324,6 +336,8 @@ def get_SRV(host, port, service, proto=' - if running_sum >= selected: - rec = sums[running_sum] - host = rec.target.to_text() -+ if isinstance(host, bytes): -+ host = host.decode("utf-8") - if host.endswith('.'): - host = host[:-1] - sorted_recs.append((host, rec.port)) diff --git a/pkgs/top-level/python-aliases.nix b/pkgs/top-level/python-aliases.nix index 42dec1460948..45fd3c445749 100644 --- a/pkgs/top-level/python-aliases.nix +++ b/pkgs/top-level/python-aliases.nix @@ -463,6 +463,7 @@ mapAliases { sip_4 = throw "'sip_4' has been renamed to/replaced by 'sip4'"; # Converted to throw 2025-10-29 sipsimple = lib.warnOnInstantiate "'sipsimple' has been renamed to 'python3-sipsimple' to fit upstream naming" python3-sipsimple; # added 2026-01-05 slackclient = throw "'slackclient' has been renamed to/replaced by 'slack-sdk'"; # Converted to throw 2025-10-29 + sleekxmpp = throw "'sleekxmpp' has been removed because it was deprecated in favor of 'slixmpp'"; # added 2026-01-19 smart_open = throw "'smart_open' has been renamed to/replaced by 'smart-open'"; # Converted to throw 2025-10-29 smpp_pdu = throw "'smpp_pdu' has been renamed to/replaced by 'smpp-pdu'"; # Converted to throw 2025-10-29 sorl_thumbnail = throw "'sorl_thumbnail' has been renamed to/replaced by 'sorl-thumbnail'"; # Converted to throw 2025-10-29 diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index e157c3ebbd56..ec98ac8d4a21 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -17448,8 +17448,6 @@ self: super: with self; { slapd = callPackage ../development/python-modules/slapd { }; - sleekxmpp = callPackage ../development/python-modules/sleekxmpp { }; - sleekxmppfs = callPackage ../development/python-modules/sleekxmppfs { }; sleepyq = callPackage ../development/python-modules/sleepyq { };