.hive/modules/derivations/antlrworks.nix

36 lines
918 B
Nix

{
pkgs ? import <nixpkgs> {},
version ? "1.5.2",
hash ? "sha256-Yy9x7cSQrRpk+Flt9+H7gdogUS4WR2q2fqdVXQgvd7Y=",
jre ? pkgs.jre,
...
}: let
drv = pkgs.stdenv.mkDerivation {
pname = "antlrworks";
inherit version;
dontUnpack = true;
src = pkgs.fetchurl {
url = "https://github.com/antlr/website-antlr3/raw/refs/heads/gh-pages/download/antlrworks-${version}-complete.jar";
inherit hash;
};
installPhase = ''
mkdir -p $out/share/java
cp $src $out/share/java/antlrworks-${version}-complete.jar
mkdir $out/bin
cat > $out/bin/antlrworks <<EOF
#!/usr/bin/env sh
${jre}/bin/java -jar $out/share/java/antlrworks-${version}-complete.jar
EOF
chmod +x $out/bin/antlrworks
'';
};
in
pkgs.makeDesktopItem {
name = "antlrworks";
desktopName = "ANTLRWorks";
exec = "${drv}/bin/antlrworks %f";
terminal = false;
}