1{ lib
2, buildPythonPackage
3, fetchFromGitHub
4, pythonOlder
5, anyio
6, asyncio-rlock
7, asyncio-throttle
8, ircstates
9, async-stagger
10, async-timeout
11, python
12}:
13
14buildPythonPackage rec {
15 pname = "ircrobots";
16 version = "0.6.6";
17 disabled = pythonOlder "3.7";
18
19 src = fetchFromGitHub {
20 owner = "jesopo";
21 repo = pname;
22 rev = "v${version}";
23 hash = "sha256-mIh3tERwHtGH9eA0AT8Lcnwp1Wn9lQhKkUjuZcOXO/c=";
24 };
25
26 postPatch = ''
27 # too specific pins https://github.com/jesopo/ircrobots/issues/3
28 sed -iE 's/anyio.*/anyio/' requirements.txt
29 '';
30
31 propagatedBuildInputs = [
32 anyio
33 asyncio-rlock
34 asyncio-throttle
35 ircstates
36 async-stagger
37 async-timeout
38 ];
39
40 checkPhase = ''
41 ${python.interpreter} -m unittest test
42 '';
43
44 pythonImportsCheck = [ "ircrobots" ];
45
46 meta = with lib; {
47 description = "Asynchronous bare-bones IRC bot framework for python3";
48 license = licenses.mit;
49 homepage = "https://github.com/jesopo/ircrobots";
50 maintainers = with maintainers; [ hexa ];
51 };
52}