diff options
author | Vivien Kraus <vivien@planete-kraus.eu> | 2021-08-02 16:07:08 +0200 |
---|---|---|
committer | Ludovic Courtès <ludo@gnu.org> | 2021-08-12 12:34:12 +0200 |
commit | 0dc9e58929252f249efc8b51e1171f940adda3d0 (patch) | |
tree | 79ea87e058ae506db8b40f8b4d1557ef031697a0 | |
parent | 9f544c631f9739ac1f33b241e8d9c446fa63cfca (diff) | |
download | guix-0dc9e58929252f249efc8b51e1171f940adda3d0.tar.gz |
gnu: Add jsonnet.
* gnu/packages/cpp.scm (jsonnet): New variable. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
-rw-r--r-- | gnu/packages/cpp.scm | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/gnu/packages/cpp.scm b/gnu/packages/cpp.scm index 42e9d50687..8c8109fb83 100644 --- a/gnu/packages/cpp.scm +++ b/gnu/packages/cpp.scm @@ -45,6 +45,7 @@ #:use-module (guix build-system gnu) #:use-module (guix build-system python) #:use-module (guix modules) + #:use-module (guix gexp) #:use-module (gnu packages) #:use-module (gnu packages autotools) #:use-module (gnu packages boost) @@ -1211,3 +1212,40 @@ of reading and writing XML.") ;; incompatible with the GPL v2. Refer to the file named FLOSSE for the ;; details. (license license:gpl2+))) + +(define-public jsonnet + (package + (name "jsonnet") + (version "0.17.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/google/jsonnet") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1ddz14699v5lqx3dh0mb7hfffr6fk5zhmzn3z8yxkqqvriqnciim")) + (modules '((guix build utils))) + (snippet + #~(begin + (rename-file "third_party/md5" ".md5") + (delete-file-recursively "third_party") + (delete-file-recursively "doc/third_party") + (substitute* '("core/vm.cpp") + (("#include \"json.hpp\"") "#include <nlohmann/json.hpp>")) + (mkdir "third_party") + (rename-file ".md5" "third_party/md5"))))) + (build-system cmake-build-system) + (arguments + `(#:configure-flags '("-DUSE_SYSTEM_GTEST=ON" "-DUSE_SYSTEM_JSON=ON"))) + (native-inputs + `(("googletest" ,googletest) + ("pkg-config" ,pkg-config))) + (inputs + `(("json-modern-cxx" ,json-modern-cxx))) + (home-page "https://jsonnet.org/") + (synopsis "Data templating language") + (description "Jsonnet is a templating language extending JSON +syntax with variables, conditions, functions and more.") + (license license:asl2.0))) |