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.1";
12
13 src = fetchFromGitHub {
14 owner = "babashka";
15 repo = "bbin";
16 rev = "v${version}";
17 sha256 = "sha256-mF8+Fm1vwLUw5l2PqV+vFFlr6y2JpKBwc+J3PdKQ6Fo=";
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 license = licenses.mit;
45 inherit (babashka-unwrapped.meta) platforms;
46 maintainers = with maintainers; [ sohalt ];
47 };
48}