nixpkgs/pkgs/development/interpreters/kamilalisp/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

40 lines
1.1 KiB
Nix

{ lib
, stdenv
, fetchurl
, jre
, makeWrapper
}:
stdenv.mkDerivation rec {
name = "kamilalisp";
version = "0.3.0.1";
src = fetchurl {
url = "https://github.com/kspalaiologos/kamilalisp/releases/download/v${version}/kamilalisp-${version}.jar";
hash = "sha256-SW0U483eHptkYw+yJV/2cImfK3uEjkl8ma54yeagF6s=";
};
dontUnpack = true;
nativeBuildInputs = [ makeWrapper ];
installPhase = ''
mkdir -pv $out/share/java $out/bin
cp ${src} $out/share/java/${name}-${version}.jar
makeWrapper ${jre}/bin/java $out/bin/kamilalisp \
--add-flags "-jar $out/share/java/${name}-${version}.jar" \
--set _JAVA_OPTIONS '-Dawt.useSystemAAFontSettings=on' \
--set _JAVA_AWT_WM_NONREPARENTING 1
'';
meta = {
homepage = "https://github.com/kspalaiologos/kamilalisp";
description = "A functional, flexible, and concise Lisp";
mainProgram = "kamilalisp";
license = lib.licenses.gpl3Plus;
inherit (jre.meta) platforms;
maintainers = with lib.maintainers; [ cafkafk ];
sourceProvenance = [ lib.sourceTypes.binaryBytecode ];
};
}