1{ lib
2, stdenvNoCC
3, fetchFromGitHub
4, gitUpdater
5, makeWrapper
6, babashka-unwrapped
7}:
8
9stdenvNoCC.mkDerivation rec {
10 pname = "bbin";
11 version = "0.2.3";
12
13 src = fetchFromGitHub {
14 owner = "babashka";
15 repo = "bbin";
16 rev = "v${version}";
17 sha256 = "sha256-tWk5HzDKff+wwqRjLYbjfio3aQC6Xz5vsMf/NLm+Scc=";
18 };
19
20 nativeBuildInputs = [ makeWrapper ];
21
22 dontConfigure = true;
23 dontBuild = true;
24
25 installPhase = ''
26 runHook preInstall
27
28 install -D bbin $out/bin/bbin
29 mkdir -p $out/share
30 cp -r docs $out/share/docs
31 wrapProgram $out/bin/bbin \
32 --prefix PATH : "${lib.makeBinPath [ babashka-unwrapped babashka-unwrapped.graalvmDrv ]}"
33
34 runHook postInstall
35 '';
36
37 passthru = {
38 updateScript = gitUpdater { rev-prefix = "v"; };
39 };
40
41 meta = with lib; {
42 homepage = "https://github.com/babashka/bbin";
43 description = "Install any Babashka script or project with one command";
44 mainProgram = "bbin";
45 license = licenses.mit;
46 inherit (babashka-unwrapped.meta) platforms;
47 maintainers = with maintainers; [ sohalt ];
48 };
49}