1{
2 lib,
3 buildPythonPackage,
4 pythonAtLeast,
5 pythonOlder,
6 fetchFromGitHub,
7 setuptools-scm,
8 cssselect,
9 jaraco-test,
10 lxml,
11 mock,
12 pytestCheckHook,
13 importlib-resources,
14}:
15
16buildPythonPackage rec {
17 pname = "cssutils";
18 version = "2.10.2";
19 pyproject = true;
20
21 disabled = pythonOlder "3.8";
22
23 src = fetchFromGitHub {
24 owner = "jaraco";
25 repo = "cssutils";
26 rev = "refs/tags/v${version}";
27 hash = "sha256-1sAn6pFwWsnYS1eHQmyDNGTo6kdhL1vJBwUptADvHyo=";
28 };
29
30 build-system = [ setuptools-scm ];
31
32 nativeCheckInputs = [
33 cssselect
34 jaraco-test
35 lxml
36 mock
37 pytestCheckHook
38 ] ++ lib.optionals (pythonOlder "3.9") [ importlib-resources ];
39
40 disabledTests = [
41 # access network
42 "encutils"
43 "website.logging"
44 ];
45
46 pythonImportsCheck = [ "cssutils" ];
47
48 meta = with lib; {
49 description = "A CSS Cascading Style Sheets library for Python";
50 homepage = "https://github.com/jaraco/cssutils";
51 changelog = "https://github.com/jaraco/cssutils/blob/${src.rev}/NEWS.rst";
52 license = licenses.lgpl3Plus;
53 maintainers = with maintainers; [ dotlambda ];
54 };
55}