diff --git a/pkgs/development/tools/json2hcl/default.nix b/pkgs/development/tools/json2hcl/default.nix new file mode 100644 index 000000000000..d53b39021339 --- /dev/null +++ b/pkgs/development/tools/json2hcl/default.nix @@ -0,0 +1,25 @@ +{ stdenv, lib, buildGoPackage, fetchFromGitHub }: + +buildGoPackage rec { + pname = "json2hcl"; + name = "${pname}-${version}"; + version = "0.0.6"; + + src = fetchFromGitHub { + inherit owner; + repo = pname; + rev = "v${version}"; + sha256 = "0knil88n2w41w3nzqz6ljgfjkl5r3x0bh7ifqgiyf6sin3pl4pn0"; + }; + + owner = "kvz"; + goPackagePath = "github.com/${owner}/${pname}"; + goDeps = ./deps.nix; + + meta = with lib; { + description = "Convert JSON to HCL, and vice versa"; + license = with licenses; [ mit ]; + maintainers = [ maintainers.matthewbauer ]; + platforms = platforms.unix; + }; +} diff --git a/pkgs/development/tools/json2hcl/deps.nix b/pkgs/development/tools/json2hcl/deps.nix new file mode 100644 index 000000000000..bb9df28ad87f --- /dev/null +++ b/pkgs/development/tools/json2hcl/deps.nix @@ -0,0 +1,20 @@ +[ + { + goPackagePath = "github.com/Acconut/hcl"; + fetch = { + type = "git"; + url = "https://github.com/Acconut/hcl"; + rev = "23c074d0eceb2b8a5bfdbb271ab780cde70f05a8"; + sha256 = "0db4lpqb5m130rmfy3s3gjjf4dxllypmyrzxv6ggqhkmwmc7w4mc"; + }; + } + { + goPackagePath = "github.com/hashicorp/hcl"; + fetch = { + type = "git"; + url = "https://github.com/hashicorp/hcl"; + rev = "23c074d0eceb2b8a5bfdbb271ab780cde70f05a8"; + sha256 = "0db4lpqb5m130rmfy3s3gjjf4dxllypmyrzxv6ggqhkmwmc7w4mc"; + }; + } +] diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index d5445166afd4..c6e6c6adc6ec 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -9397,6 +9397,8 @@ with pkgs; jshon = callPackage ../development/tools/parsing/jshon { }; + json2hcl = callPackage ../development/tools/json2hcl { }; + json-glib = callPackage ../development/libraries/json-glib { }; json_c = callPackage ../development/libraries/json-c { };