diff options
Diffstat (limited to 'nixpkgs/pkgs/development/interpreters/clojure/babashka.nix')
-rw-r--r-- | nixpkgs/pkgs/development/interpreters/clojure/babashka.nix | 69 |
1 files changed, 24 insertions, 45 deletions
diff --git a/nixpkgs/pkgs/development/interpreters/clojure/babashka.nix b/nixpkgs/pkgs/development/interpreters/clojure/babashka.nix index df75a233fff4..93755e83a3d6 100644 --- a/nixpkgs/pkgs/development/interpreters/clojure/babashka.nix +++ b/nixpkgs/pkgs/development/interpreters/clojure/babashka.nix @@ -1,61 +1,41 @@ -{ lib, stdenv, fetchurl, graalvm11-ce, glibcLocales }: +{ lib, buildGraalvmNativeImage, fetchurl, writeScript }: -stdenv.mkDerivation rec { +buildGraalvmNativeImage rec { pname = "babashka"; - version = "0.6.1"; + version = "0.7.3"; src = fetchurl { url = "https://github.com/babashka/${pname}/releases/download/v${version}/${pname}-${version}-standalone.jar"; - sha256 = "sha256-s0fZzx/sEAUwXY2cx2ODDhwIrJb5LykFgHBcscsZQO0="; + sha256 = "sha256-zbxFMc02hbsU2ERlUzqMBHwHYfORB7TkMINrKC52PPU="; }; - dontUnpack = true; + executable = "bb"; - nativeBuildInputs = [ graalvm11-ce glibcLocales ]; + extraNativeImageBuildArgs = [ + "-H:+ReportExceptionStackTraces" + "--no-fallback" + "--native-image-info" + ]; - LC_ALL = "en_US.UTF-8"; - BABASHKA_JAR = src; - BABASHKA_BINARY = "bb"; - BABASHKA_XMX = "-J-Xmx4500m"; - - buildPhase = '' - runHook preBuild - - # https://github.com/babashka/babashka/blob/v0.6.1/script/compile#L41-L52 - args=("-jar" "$BABASHKA_JAR" - "-H:CLibraryPath=${graalvm11-ce.lib}/lib" - # Required to build babashka on darwin. Do not remove. - "${lib.optionalString stdenv.isDarwin "-H:-CheckToolchain"}" - "-H:Name=$BABASHKA_BINARY" - "-H:+ReportExceptionStackTraces" - # "-H:+PrintAnalysisCallTree" - # "-H:+DashboardAll" - # "-H:DashboardDump=reports/dump" - # "-H:+DashboardPretty" - # "-H:+DashboardJson" - "--verbose" - "--no-fallback" - "--native-image-info" - "$BABASHKA_XMX") - - native-image ''${args[@]} - - runHook postBuild + installCheckPhase = '' + $out/bin/bb --version | grep '${version}' + $out/bin/bb '(+ 1 2)' | grep '3' + $out/bin/bb '(vec (dedupe *input*))' <<< '[1 1 1 1 2]' | grep '[1 2]' ''; - installPhase = '' - runHook preInstall + passthru.updateScript = writeScript "update-babashka" '' + #!/usr/bin/env nix-shell + #!nix-shell -i bash -p curl common-updater-scripts jq - mkdir -p $out/bin - cp bb $out/bin/bb + set -euo pipefail - runHook postInstall - ''; + readonly latest_version="$(curl \ + ''${GITHUB_TOKEN:+"-u \":$GITHUB_TOKEN\""} \ + -s "https://api.github.com/repos/babashka/babashka/releases/latest" \ + | jq -r '.tag_name')" - installCheckPhase = '' - $out/bin/bb --version | grep '${version}' - $out/bin/bb '(+ 1 2)' | grep '3' - $out/bin/bb '(vec (dedupe *input*))' <<< '[1 1 1 1 2]' | grep '[1 2]' + # v0.6.2 -> 0.6.2 + update-source-version babashka "''${latest_version/v/}" ''; meta = with lib; { @@ -87,7 +67,6 @@ stdenv.mkDerivation rec { homepage = "https://github.com/babashka/babashka"; changelog = "https://github.com/babashka/babashka/blob/v${version}/CHANGELOG.md"; license = licenses.epl10; - platforms = graalvm11-ce.meta.platforms; maintainers = with maintainers; [ bandresen bhougland |