1{
2 lib,
3 buildPythonPackage,
4 setuptools,
5 chardet,
6 cryptography,
7 feedparser,
8 fetchPypi,
9 mock,
10 pysocks,
11 pytestCheckHook,
12 python-dateutil,
13 python-gnupg,
14 pythonOlder,
15 pytz,
16}:
17
18buildPythonPackage rec {
19 pname = "limnoria";
20 version = "2025.7.18";
21 pyproject = true;
22
23 disabled = pythonOlder "3.6";
24
25 src = fetchPypi {
26 inherit pname version;
27 hash = "sha256-iXu+ObOFd0iQae8/mY2ztt7s4kuKutX3huHN7jP3cHE=";
28 };
29
30 build-system = [ setuptools ];
31
32 dependencies = [
33 chardet
34 cryptography
35 feedparser
36 mock
37 pysocks
38 python-dateutil
39 python-gnupg
40 ]
41 ++ lib.optionals (pythonOlder "3.9") [ pytz ];
42
43 nativeCheckInputs = [ pytestCheckHook ];
44
45 postPatch = ''
46 substituteInPlace setup.py \
47 --replace-fail "version=version" 'version="${version}"'
48 '';
49
50 checkPhase = ''
51 runHook preCheck
52 export PATH="$PATH:$out/bin";
53 supybot-test test -v --no-network
54 runHook postCheck
55 '';
56
57 pythonImportsCheck = [
58 # Uses the same names as Supybot
59 "supybot"
60 ];
61
62 meta = with lib; {
63 description = "Modified version of Supybot, an IRC bot";
64 homepage = "https://github.com/ProgVal/Limnoria";
65 license = licenses.bsd3;
66 maintainers = [ ];
67 };
68}