Unverified Commit 552ed977 authored by Thiago Kenji Okada's avatar Thiago Kenji Okada Committed by GitHub
Browse files

Merge pull request #241119 from jlesquembre/bb-wrapper

babashka: Add wrapper
parents ab37fd7f 4a22edaf
Loading
Loading
Loading
Loading
+18 −15
Original line number Diff line number Diff line
@@ -3,14 +3,15 @@
, graalvmCEPackages
, removeReferencesTo
, fetchurl
, writeScript }:
, writeScript
}:

buildGraalvmNativeImage rec {
  pname = "babashka";
  pname = "babashka-unwrapped";
  version = "1.3.181";

  src = fetchurl {
    url = "https://github.com/babashka/${pname}/releases/download/v${version}/${pname}-${version}-standalone.jar";
    url = "https://github.com/babashka/babashka/releases/download/v${version}/babashka-${version}-standalone.jar";
    sha256 = "sha256-NzchlHRxOCSyUf9U0Jv8h4bgKd2Jwp+LmxIfeV8+8+M=";
  };

@@ -27,6 +28,8 @@ buildGraalvmNativeImage rec {
    "--enable-preview"
  ];

  doInstallCheck = true;

  installCheckPhase = ''
    $out/bin/bb --version | grep '${version}'
    $out/bin/bb '(+ 1 2)' | grep '3'
+35 −0
Original line number Diff line number Diff line
{ stdenv
, babashka-unwrapped
, clojure
, makeWrapper
, rlwrap

, jdkBabashka ? clojure.jdk
}:
stdenv.mkDerivation (finalAttrs: {
  pname = "babashka";
  inherit (babashka-unwrapped) version meta doInstallCheck installCheckPhase;

  dontUnpack = true;
  dontBuild = true;

  nativeBuildInputs = [ makeWrapper ];

  installPhase =
    let unwrapped-bin = "${babashka-unwrapped}/bin/bb"; in
    ''
      mkdir -p $out/clojure_tools
      ln -s -t $out/clojure_tools ${clojure}/*.edn
      ln -s -t $out/clojure_tools ${clojure}/libexec/*

      makeWrapper "${babashka-unwrapped}/bin/bb" "$out/bin/bb" \
        --inherit-argv0 \
        --set-default DEPS_CLJ_TOOLS_DIR $out/clojure_tools \
        --set-default JAVA_HOME ${jdkBabashka}

      substituteInPlace $out/bin/bb \
        --replace '"${unwrapped-bin}"' '"${rlwrap}/bin/rlwrap" "${unwrapped-bin}"'
    '';

  passthru.unwrapped = babashka-unwrapped;
})
+2 −0
Original line number Diff line number Diff line
@@ -71,6 +71,8 @@ stdenv.mkDerivation (finalAttrs: {
    update-source-version clojure "$latest_version"
  '';

  passthru.jdk = jdk;

  meta = with lib; {
    description = "A Lisp dialect for the JVM";
    homepage = "https://clojure.org/";
+3 −1
Original line number Diff line number Diff line
{ lib
, stdenv
, fetchurl
, babashka
, cacert
, clojure
@@ -79,5 +78,8 @@ stdenv.mkDerivation rec {
      willcohen
    ];
    platforms = platforms.darwin;

    # https://hydra.nixos.org/job/nixpkgs/trunk/obb.aarch64-darwin/all
    broken = true;
  };
}
+3 −4
Original line number Diff line number Diff line
@@ -2,8 +2,7 @@
, stdenvNoCC
, fetchFromGitHub
, makeWrapper
, babashka
, graalvm17-ce
, babashka-unwrapped
}:

stdenvNoCC.mkDerivation rec {
@@ -29,7 +28,7 @@ stdenvNoCC.mkDerivation rec {
    mkdir -p $out/share
    cp -r docs $out/share/docs
    wrapProgram $out/bin/bbin \
      --prefix PATH : "${lib.makeBinPath [ babashka babashka.graalvmDrv ]}"
      --prefix PATH : "${lib.makeBinPath [ babashka-unwrapped babashka-unwrapped.graalvmDrv ]}"

    runHook postInstall
  '';
@@ -38,7 +37,7 @@ stdenvNoCC.mkDerivation rec {
    homepage = "https://github.com/babashka/bbin";
    description = "Install any Babashka script or project with one command";
    license = licenses.mit;
    inherit (babashka.meta) platforms;
    inherit (babashka-unwrapped.meta) platforms;
    maintainers = with maintainers; [ sohalt ];
  };
}
Loading