summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--pkgs/development/python-modules/pyhocon/default.nix40
1 files changed, 31 insertions, 9 deletions
diff --git a/pkgs/development/python-modules/pyhocon/default.nix b/pkgs/development/python-modules/pyhocon/default.nix
index aa967b76954..f9014f5db2b 100644
--- a/pkgs/development/python-modules/pyhocon/default.nix
+++ b/pkgs/development/python-modules/pyhocon/default.nix
@@ -5,17 +5,21 @@
 , pyparsing
 , pytestCheckHook
 , python-dateutil
+, pythonOlder
 }:
 
 buildPythonPackage rec {
   pname = "pyhocon";
   version = "0.3.59";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
     owner = "chimpler";
-    repo = "pyhocon";
+    repo = pname;
     rev = version;
-    sha256 = "1yr24plg3d4girg27ajjkf9mndig706fs8b2kmnmhi4l2xi866yh";
+    sha256 = "sha256-0BuDYheURFhtnWIh7Qw4LzZbk5tSqiNejo+08eglIvs=";
   };
 
   propagatedBuildInputs = [
@@ -28,18 +32,36 @@ buildPythonPackage rec {
     pytestCheckHook
   ];
 
-  pythonImportsCheck = [ "pyhocon" ];
+  postPatch = ''
+    substituteInPlace setup.py \
+      --replace "pyparsing~=2.0" "pyparsing>=2.0"
+  '';
+
+  pythonImportsCheck = [
+    "pyhocon"
+  ];
+
+  disabledTestPaths = [
+    # pyparsing.exceptions.ParseException: Expected end of text, found '='
+    # https://github.com/chimpler/pyhocon/issues/273
+    "tests/test_tool.py"
+  ];
+
+  disabledTests = [
+    # AssertionError: assert ConfigTree([(...
+    "test_dict_merge"
+    "test_parse_override"
+    "test_include_dict"
+  ];
 
   meta = with lib; {
-    homepage = "https://github.com/chimpler/pyhocon/";
     description = "HOCON parser for Python";
-    # taken from https://pypi.org/project/pyhocon/
+    homepage = "https://github.com/chimpler/pyhocon/";
     longDescription = ''
-      A HOCON parser for Python. It additionally provides a tool
-      (pyhocon) to convert any HOCON content into json, yaml and properties
-      format
+      A HOCON parser for Python. It additionally provides a tool (pyhocon) to convert
+      any HOCON content into JSON, YAML and properties format.
     '';
     license = licenses.asl20;
-    maintainers = [ maintainers.chreekat ];
+    maintainers = with maintainers; [ chreekat ];
   };
 }