1{
2 lib,
3 buildPythonPackage,
4 fetchFromGitHub,
5 setuptools,
6 pytestCheckHook,
7 gitUpdater,
8}:
9
10buildPythonPackage rec {
11 pname = "cobble";
12 version = "0.1.4";
13 pyproject = true;
14
15 src = fetchFromGitHub {
16 owner = "mwilliamson";
17 repo = "python-cobble";
18 tag = version;
19 hash = "sha256-xi6cCSUnMYc5Tp6+TQlC9Oo9kpam5C7QGCul/IoTW1k=";
20 };
21
22 build-system = [ setuptools ];
23
24 pythonImportsCheck = [ "cobble" ];
25
26 nativeCheckInputs = [
27 pytestCheckHook
28 ];
29
30 enabledTestPaths = [ "tests.py" ];
31
32 disabledTests = [
33 # Broken tests
34 #
35 # left = "Can't instantiate abstract class Evaluator with abstract method visit_add"
36 # right = "Can't instantiate abstract class Evaluator without an implementation for abstract method 'visit_add'"
37 "test_error_if_visitor_is_missing_methods"
38 # left = "Can't instantiate abstract class Evaluator with abstract method visit_literal"
39 # right = "Can't instantiate abstract class Evaluator without an implementation for abstract method 'visit_literal'"
40 "test_sub_sub_classes_are_included_in_abc"
41 ];
42
43 passthru.updateScripts = gitUpdater { };
44
45 meta = {
46 description = "Create Python data objects";
47 homepage = "https://github.com/mwilliamson/python-cobble";
48 license = lib.licenses.bsd2;
49 maintainers = with lib.maintainers; [ ];
50 };
51}