diff --git a/pkgs/development/compilers/flix/default.nix b/pkgs/development/compilers/flix/default.nix new file mode 100644 index 000000000000..2b4c8dc50f2b --- /dev/null +++ b/pkgs/development/compilers/flix/default.nix @@ -0,0 +1,35 @@ +{ lib, fetchurl, stdenvNoCC, makeWrapper, jre }: + +stdenvNoCC.mkDerivation rec { + pname = "flix"; + version = "0.35.0"; + + src = fetchurl { + url = "https://github.com/flix/flix/releases/download/v${version}/flix.jar"; + sha256 = "sha256-liPOAQfdAYc2JlUb+BXQ5KhTOYexC1vBCIuO0nT2jhk="; + }; + + 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"; + homepage = "https://github.com/flix/flix"; + sourceProvenance = with sourceTypes; [ binaryBytecode ]; + license = licenses.asl20; + maintainers = with maintainers; [ athas ]; + inherit (jre.meta) platforms; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 81ae716ea4df..d42b9416271f 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -2208,6 +2208,8 @@ with pkgs; flycast = callPackage ../applications/emulators/flycast { }; + flix = callPackage ../development/compilers/flix { }; + fsrx = callPackage ../tools/misc/fsrx { }; fsuae = callPackage ../applications/emulators/fs-uae { };