From 4f2c2da3956c1134b78306bf052be17c037b2cb5 Mon Sep 17 00:00:00 2001 From: psyclyx Date: Wed, 12 Feb 2025 05:24:08 -0800 Subject: [PATCH] cljstyle: init at 0.17.642 https://github.com/greglook/cljstyle/releases/tag/0.17.642 --- pkgs/by-name/cl/cljstyle/package.nix | 52 ++++++++++++++++++++++++++++ 1 file changed, 52 insertions(+) create mode 100644 pkgs/by-name/cl/cljstyle/package.nix diff --git a/pkgs/by-name/cl/cljstyle/package.nix b/pkgs/by-name/cl/cljstyle/package.nix new file mode 100644 index 000000000000..f27f1bd57957 --- /dev/null +++ b/pkgs/by-name/cl/cljstyle/package.nix @@ -0,0 +1,52 @@ +{ + lib, + buildGraalvmNativeImage, + fetchMavenArtifact, + fetchurl, + graalvmPackages, + versionCheckHook, +}: + +let + pname = "cljstyle"; + version = "0.17.642"; + + # must be on classpath to build native image + graal-build-time = fetchMavenArtifact { + repos = [ "https://repo.clojars.org/" ]; + groupId = "com.github.clj-easy"; + artifactId = "graal-build-time"; + version = "1.0.5"; + hash = "sha256-M6/U27a5n/QGuUzGmo8KphVnNa2K+LFajP5coZiFXoY="; + }; +in +buildGraalvmNativeImage { + inherit pname version; + + src = fetchurl { + url = "https://github.com/greglook/${pname}/releases/download/${version}/${pname}-${version}.jar"; + hash = "sha256-AkCuTZeDXbNBuwPZEMhYGF/oOGIKq5zVDwL8xwnj+mE="; + }; + + graalvmDrv = graalvmPackages.graalvm-ce; + + extraNativeImageBuildArgs = [ + "-H:+ReportExceptionStackTraces" + "--no-fallback" + "-cp ${graal-build-time.passthru.jar}" + ]; + + doInstallCheck = true; + nativeInstallCheckInputs = [ versionCheckHook ]; + versionCheckProgramArg = [ "version" ]; + + meta = { + description = "Tool for formatting Clojure code"; + homepage = "https://github.com/greglook/cljstyle"; + sourceProvenance = with lib.sourceTypes; [ binaryBytecode ]; + license = lib.licenses.epl10; + changelog = "https://github.com/greglook/cljstyle/blob/${version}/CHANGELOG.md"; + maintainers = with lib.maintainers; [ psyclyx ]; + mainProgram = "cljstyle"; + }; +}