diff options
author | Thiago Kenji Okada <thiagokokada@gmail.com> | 2021-11-23 11:56:37 -0300 |
---|---|---|
committer | Thiago Kenji Okada <thiagokokada@gmail.com> | 2021-11-24 10:37:32 -0300 |
commit | 1415e30830e9fae776cbd08a4934a4cdc66e1a02 (patch) | |
tree | 6a05e65d382ea812215e0c98b2b9a1ef2f72bd1d /pkgs/development/tools/misc/clojure-lsp | |
parent | 4ec0d5209fd24b7f02773bafd35327a56dff7668 (diff) |
buildGraalvmNativeImage: init
For now it only takes care of the single Jar <-> single Executable case. This will take care of the majority (all?) use cases we have in nixpkgs currently.
Diffstat (limited to 'pkgs/development/tools/misc/clojure-lsp')
-rw-r--r-- | pkgs/development/tools/misc/clojure-lsp/default.nix | 41 |
1 files changed, 9 insertions, 32 deletions
diff --git a/pkgs/development/tools/misc/clojure-lsp/default.nix b/pkgs/development/tools/misc/clojure-lsp/default.nix index 9128b3f190e10..66166e469a805 100644 --- a/pkgs/development/tools/misc/clojure-lsp/default.nix +++ b/pkgs/development/tools/misc/clojure-lsp/default.nix @@ -1,6 +1,6 @@ -{ lib, stdenv, graalvm11-ce, babashka, fetchurl, fetchFromGitHub, clojure, writeScript }: +{ lib, stdenv, buildGraalvmNativeImage, graalvm11-ce, babashka, fetchurl, fetchFromGitHub, clojure, writeScript }: -stdenv.mkDerivation rec { +buildGraalvmNativeImage rec { pname = "clojure-lsp"; version = "2021.11.02-15.24.47"; @@ -16,39 +16,17 @@ stdenv.mkDerivation rec { sha256 = "sha256-k0mzibcLAspklCPE6f2qsUm9bwSvcJRgWecMBq7mpF0="; }; - GRAALVM_HOME = graalvm11-ce; - CLOJURE_LSP_JAR = jar; - CLOJURE_LSP_XMX = "-J-Xmx6g"; - - buildInputs = [ graalvm11-ce clojure ]; - - buildPhase = with lib; '' - runHook preBuild + extraNativeImageBuildArgs = [ + "-H:CLibraryPath=$DTLV_LIB_EXTRACT_DIR" + "--verbose" + "--no-fallback" + "--native-image-info" + ]; + preBuild = '' # https://github.com/clojure-lsp/clojure-lsp/blob/2021.11.02-15.24.47/graalvm/native-unix-compile.sh#L18-L27 DTLV_LIB_EXTRACT_DIR=$(mktemp -d) export DTLV_LIB_EXTRACT_DIR=$DTLV_LIB_EXTRACT_DIR - - args=("-jar" "$CLOJURE_LSP_JAR" - "-H:+ReportExceptionStackTraces" - "-H:CLibraryPath=${graalvm11-ce.lib}/lib" - "-H:CLibraryPath=$DTLV_LIB_EXTRACT_DIR" - "--verbose" - "--no-fallback" - "--native-image-info" - "$CLOJURE_LSP_XMX") - - native-image ''${args[@]} - - runHook postBuild - ''; - - installPhase = '' - runHook preInstall - - install -Dm755 ./clojure-lsp $out/bin/clojure-lsp - - runHook postInstall ''; doCheck = true; @@ -88,7 +66,6 @@ stdenv.mkDerivation rec { homepage = "https://github.com/clojure-lsp/clojure-lsp"; license = licenses.mit; maintainers = with maintainers; [ ericdallo babariviere ]; - platforms = graalvm11-ce.meta.platforms; # Depends on datalevin that is x86_64 only # https://github.com/juji-io/datalevin/blob/bb7d9328f4739cddea5d272b5cd6d6dcb5345da6/native/src/java/datalevin/ni/Lib.java#L86-L102 broken = !stdenv.isx86_64; |