python3Packages.wokkel: init at 18.0.0

NGI project.

Signed-off-by: Ethan Carter Edwards <ethan@ethancedwards.com>
This commit is contained in:
Ethan Carter Edwards 2025-05-30 19:12:16 -04:00 committed by Valentin Gagarin
parent db0b526f96
commit 7da497a91a
3 changed files with 2745 additions and 0 deletions

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,72 @@
{
lib,
buildPythonPackage,
fetchFromGitHub,
setuptools,
incremental,
python-dateutil,
twisted,
}:
buildPythonPackage rec {
pname = "wokkel";
version = "18.0.0";
pyproject = true;
src = fetchFromGitHub {
owner = "ralphm";
repo = "wokkel";
tag = version;
hash = "sha256-vIs9Zo8o7TWUTIqJG9SEHQd63aJFCRhj6k45IuxoCes=";
};
patches = [
# Fixes compat with current-day twisted
# https://github.com/ralphm/wokkel/pull/32 with all the CI & doc changes excluded
./0001-Remove-py2-compat.patch
];
postPatch = ''
substituteInPlace wokkel/muc.py \
--replace-fail "twisted.python.constants" "constantly"
'';
build-system = [ setuptools ];
dependencies = [
incremental
python-dateutil
twisted
];
nativeCheckInputs = [ twisted ];
checkPhase = ''
runHook preCheck
trial wokkel
runHook postCheck
'';
pythonImportsCheck = [
"twisted.plugins.server"
"wokkel.disco"
"wokkel.muc"
"wokkel.pubsub"
];
meta = {
description = "Twisted Jabber support library";
longDescription = ''
Wokkel is collection of enhancements on top of the Twisted networking framework, written in Python. It mostly
provides a testing ground for enhancements to the Jabber/XMPP protocol implementation as found in
Twisted Words, that are meant to eventually move there.
'';
homepage = "https://github.com/ralphm/wokkel"; # wokkel.ik.nu is dead
changelog = "https://github.com/ralphm/wokkel/blob/${version}/NEWS.rst";
license = lib.licenses.mit;
maintainers = [ lib.maintainers.ethancedwards8 ];
teams = [ lib.teams.ngi ];
};
}

View file

@ -19149,6 +19149,8 @@ self: super: with self; {
wn = callPackage ../development/python-modules/wn { };
wokkel = callPackage ../development/python-modules/wokkel { };
wolf-comm = callPackage ../development/python-modules/wolf-comm { };
woob = callPackage ../development/python-modules/woob { };