nixpkgs/pkgs/development/compilers/flix/default.nix
stuebinm ff1a94e523 treewide: add meta.mainProgram to packages with a single binary
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.
2024-03-19 03:14:51 +01:00

36 lines
905 B
Nix

{ lib, fetchurl, stdenvNoCC, makeWrapper, jre }:
stdenvNoCC.mkDerivation rec {
pname = "flix";
version = "0.45.0";
src = fetchurl {
url = "https://github.com/flix/flix/releases/download/v${version}/flix.jar";
sha256 = "sha256-h7smcfV7heJtTVXCGSlUmk1RNZ4AWFe2fPPOWLcJz/M=";
};
dontUnpack = true;
nativeBuildInputs = [ makeWrapper ];
installPhase = ''
runHook preInstall
export JAR=$out/share/java/flix/flix.jar
install -D $src $JAR
makeWrapper ${jre}/bin/java $out/bin/flix \
--add-flags "-jar $JAR"
runHook postInstall
'';
meta = with lib; {
description = "The Flix Programming Language";
mainProgram = "flix";
homepage = "https://github.com/flix/flix";
sourceProvenance = with sourceTypes; [ binaryBytecode ];
license = licenses.asl20;
maintainers = with maintainers; [ athas ];
inherit (jre.meta) platforms;
};
}