about summary refs log tree commit diff
diff options
context:
space:
mode:
authorK900 <me@0upti.me>2023-04-23 22:44:44 +0300
committerGitHub <noreply@github.com>2023-04-23 22:44:44 +0300
commit6193b1f00530442b8eaafbb2b7473315afa70567 (patch)
tree8751ff09eaeafb11799a2801675761a19c5de377
parent815fed2e05a17838b7c3f6be448428fa5fccd1e4 (diff)
parent96ef490147083133d64118f5cb4967cd93546789 (diff)
Merge pull request #227034 from athas/flix
flix: init at 0.35.0
-rw-r--r--pkgs/development/compilers/flix/default.nix35
-rw-r--r--pkgs/top-level/all-packages.nix2
2 files changed, 37 insertions, 0 deletions
diff --git a/pkgs/development/compilers/flix/default.nix b/pkgs/development/compilers/flix/default.nix
new file mode 100644
index 0000000000000..2b4c8dc50f2bf
--- /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 81ae716ea4df4..d42b9416271f1 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 { };