1{
2 lib,
3 aiohttp,
4 buildPythonPackage,
5 fetchFromGitHub,
6 poetry-core,
7 pythonOlder,
8}:
9
10buildPythonPackage rec {
11 pname = "pycfdns";
12 version = "3.0.0";
13 pyproject = true;
14
15 disabled = pythonOlder "3.11";
16
17 src = fetchFromGitHub {
18 owner = "ludeeus";
19 repo = "pycfdns";
20 tag = version;
21 hash = "sha256-bLzDakxKq8fcjEKSxc6D5VN9gfAu1M3/zaAU2UYnwSs=";
22 };
23
24 postPatch = ''
25 substituteInPlace pyproject.toml \
26 --replace 'version="0",' 'version="${version}",'
27 '';
28
29 nativeBuildInputs = [ poetry-core ];
30
31 propagatedBuildInputs = [ aiohttp ];
32
33 # Project has no tests
34 doCheck = false;
35
36 pythonImportsCheck = [ "pycfdns" ];
37
38 meta = with lib; {
39 description = "Python module for updating Cloudflare DNS A records";
40 homepage = "https://github.com/ludeeus/pycfdns";
41 changelog = "https://github.com/ludeeus/pycfdns/releases/tag/${version}";
42 license = with licenses; [ mit ];
43 maintainers = with maintainers; [ fab ];
44 };
45}