1{ lib, buildGraalvmNativeImage, fetchurl }:
2
3buildGraalvmNativeImage rec {
4 pname = "jet";
5 version = "0.1.0";
6
7 src = fetchurl {
8 url = "https://github.com/borkdude/${pname}/releases/download/v${version}/${pname}-${version}-standalone.jar";
9 sha256 = "sha256-RCEIIZfPmOLW3akjEgaEas4xOtYxL6lQsxDv2szB8K4";
10 };
11
12 reflectionJson = fetchurl {
13 url = "https://raw.githubusercontent.com/borkdude/${pname}/v${version}/reflection.json";
14 sha256 = "sha256-mOUiKEM5tYhtpBpm7KtslyPYFsJ+Wr+4ul6Zi4aS09Q=";
15 };
16
17 extraNativeImageBuildArgs = [
18 "-H:+ReportExceptionStackTraces"
19 "-J-Dclojure.spec.skip-macros=true"
20 "-J-Dclojure.compiler.direct-linking=true"
21 "-H:IncludeResources=JET_VERSION"
22 "-H:ReflectionConfigurationFiles=${reflectionJson}"
23 "--initialize-at-build-time"
24 "-H:Log=registerResource:"
25 "--no-fallback"
26 "--no-server"
27 ];
28
29 meta = with lib; {
30 description = "CLI to transform between JSON, EDN and Transit, powered with a minimal query language";
31 homepage = "https://github.com/borkdude/jet";
32 sourceProvenance = with sourceTypes; [ binaryBytecode ];
33 license = licenses.epl10;
34 maintainers = with maintainers; [ ericdallo ];
35 };
36}