![stuebinm](/assets/img/avatar_default.png)
The nixpkgs-unstable channel's programs.sqlite was used to identify packages producing exactly one binary, and these automatically added to their package definitions wherever possible.
41 lines
1.1 KiB
Nix
41 lines
1.1 KiB
Nix
{ stdenv, lib, fetchzip, jdk, makeWrapper, coreutils, curl }:
|
|
|
|
stdenv.mkDerivation rec {
|
|
version = "0.115.0";
|
|
pname = "jbang";
|
|
|
|
src = fetchzip {
|
|
url = "https://github.com/jbangdev/jbang/releases/download/v${version}/${pname}-${version}.tar";
|
|
sha256 = "sha256-JTyMX3120h+xtXnkTW313zc7OkWMB4DayeRW6hNc4/A=";
|
|
};
|
|
|
|
nativeBuildInputs = [ makeWrapper ];
|
|
|
|
installPhase = ''
|
|
runHook preInstall
|
|
rm bin/jbang.{cmd,ps1}
|
|
cp -r . $out
|
|
wrapProgram $out/bin/jbang \
|
|
--set JAVA_HOME ${jdk} \
|
|
--set PATH ${lib.makeBinPath [ coreutils jdk curl ]}
|
|
runHook postInstall
|
|
'';
|
|
|
|
installCheckPhase = ''
|
|
$out/bin/jbang --version 2>&1 | grep -q "${version}"
|
|
'';
|
|
|
|
meta = with lib; {
|
|
description = "Run java as scripts anywhere";
|
|
mainProgram = "jbang";
|
|
longDescription = ''
|
|
jbang uses the java language to build scripts similar to groovy scripts. Dependencies are automatically
|
|
downloaded and the java code runs.
|
|
'';
|
|
homepage = "https://www.jbang.dev";
|
|
license = licenses.mit;
|
|
platforms = platforms.all;
|
|
maintainers = with maintainers; [ moaxcp ];
|
|
};
|
|
}
|