2018-10-06 20:56:21 +02:00
|
|
|
{ stdenv, lib, fetchFromGitHub, emscripten
|
|
|
|
, enableJsonnetJs ? !stdenv.isDarwin
|
|
|
|
}:
|
2015-11-29 03:54:05 +01:00
|
|
|
|
2018-07-22 21:22:57 +02:00
|
|
|
let version = "0.11.2"; in
|
2015-11-29 03:54:05 +01:00
|
|
|
|
|
|
|
stdenv.mkDerivation {
|
|
|
|
name = "jsonnet-${version}";
|
2017-11-09 12:26:09 +01:00
|
|
|
version = version;
|
2015-11-29 03:54:05 +01:00
|
|
|
|
2016-07-19 13:56:24 +02:00
|
|
|
src = fetchFromGitHub {
|
2015-11-29 03:54:05 +01:00
|
|
|
rev = "v${version}";
|
|
|
|
owner = "google";
|
|
|
|
repo = "jsonnet";
|
2018-07-22 21:22:57 +02:00
|
|
|
sha256 = "05rl5i4g36k2ikxv4sw726mha1qf5bb66wiqpi0s09wj9azm7vym";
|
2015-11-29 03:54:05 +01:00
|
|
|
};
|
|
|
|
|
2018-10-06 20:56:21 +02:00
|
|
|
buildInputs = if enableJsonnetJs then [ emscripten ] else [ ];
|
2015-11-29 03:54:05 +01:00
|
|
|
|
|
|
|
enableParallelBuilding = true;
|
|
|
|
|
2018-10-06 20:56:21 +02:00
|
|
|
makeFlags = [''EM_CACHE=$(TMPDIR)/.em_cache''] ++
|
|
|
|
(if enableJsonnetJs then ["all"] else ["jsonnet" "libjsonnet.so" "libjsonnet++.so"]);
|
2015-11-29 03:54:05 +01:00
|
|
|
|
|
|
|
installPhase = ''
|
|
|
|
mkdir -p $out/bin $out/lib $out/share/
|
|
|
|
cp jsonnet $out/bin/
|
2018-10-06 20:56:21 +02:00
|
|
|
cp libjsonnet*.so $out/lib/
|
2015-11-29 03:54:05 +01:00
|
|
|
cp -a doc $out/share/doc
|
|
|
|
cp -a include $out/include
|
|
|
|
'';
|
|
|
|
|
|
|
|
meta = {
|
|
|
|
description = "Purely-functional configuration language that helps you define JSON data";
|
2016-08-09 21:39:33 +02:00
|
|
|
maintainers = with lib.maintainers; [ benley copumpkin ];
|
2015-11-29 17:34:10 +01:00
|
|
|
license = lib.licenses.asl20;
|
2015-11-29 03:54:05 +01:00
|
|
|
homepage = https://github.com/google/jsonnet;
|
2016-05-28 20:39:45 +02:00
|
|
|
platforms = lib.platforms.unix;
|
2015-11-29 03:54:05 +01:00
|
|
|
};
|
|
|
|
}
|