about summary refs log tree commit diff
path: root/nixpkgs/pkgs/development/python-modules/bc-python-hcl2/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'nixpkgs/pkgs/development/python-modules/bc-python-hcl2/default.nix')
-rw-r--r--nixpkgs/pkgs/development/python-modules/bc-python-hcl2/default.nix50
1 files changed, 50 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/development/python-modules/bc-python-hcl2/default.nix b/nixpkgs/pkgs/development/python-modules/bc-python-hcl2/default.nix
new file mode 100644
index 000000000000..7f3832eeeb05
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/bc-python-hcl2/default.nix
@@ -0,0 +1,50 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, lark
+, nose
+, pythonOlder
+}:
+
+buildPythonPackage rec {
+  pname = "bc-python-hcl2";
+  version = "0.4.2";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.6";
+
+  src = fetchPypi {
+    inherit pname version;
+    hash = "sha256-rI/1n7m9Q36im4mn18UH/QoelXhFuumurGnyiSuNaB4=";
+  };
+
+  # Nose is required during build process, so can not use `nativeCheckInputs`.
+  buildInputs = [
+    nose
+  ];
+
+  propagatedBuildInputs = [
+    lark
+  ];
+
+  # This fork of python-hcl2 doesn't ship tests
+  doCheck = false;
+
+  pythonImportsCheck = [
+    "hcl2"
+  ];
+
+  meta = with lib; {
+    description = "Parser for HCL2 written in Python using Lark";
+    mainProgram = "hcl2tojson";
+    longDescription = ''
+      This parser only supports HCL2 and isn't backwards compatible with HCL v1.
+      It can be used to parse any HCL2 config file such as Terraform.
+    '';
+    # Although this is the main homepage from PyPi but it is also a homepage
+    # of another PyPi package (python-hcl2). But these two are different.
+    homepage = "https://github.com/amplify-education/python-hcl2";
+    license = licenses.mit;
+    maintainers = with maintainers; [ anhdle14 ];
+  };
+}