From 3e74c1002d55a61dd2c2584178a3cf7787fcbc2a Mon Sep 17 00:00:00 2001 From: revol-xut Date: Fri, 5 Nov 2021 21:21:24 +0100 Subject: [PATCH] lingua-franca: init with 0.1.0 --- maintainers/maintainer-list.nix | 10 +++++ .../compilers/lingua-franca/default.nix | 39 +++++++++++++++++++ 2 files changed, 49 insertions(+) create mode 100644 pkgs/development/compilers/lingua-franca/default.nix diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix index a2e74aa129b..3aec774e673 100644 --- a/maintainers/maintainer-list.nix +++ b/maintainers/maintainer-list.nix @@ -9588,6 +9588,16 @@ githubId = 500703; name = "Tadas BarzdÅžius"; }; + revol-xut = { + email = "revol-xut@protonmail.com"; + name = "Tassilo Tanneberger"; + github = "revol-xut"; + githubId = 32239737; + keys = [{ + longkeyid = "rsa4096/B966009D57E69CC6"; + fingerprint = "91EB E870 1639 1323 642A 6803 B966 009D 57E6 9CC6"; + }]; + }; rexim = { email = "reximkut@gmail.com"; github = "rexim"; diff --git a/pkgs/development/compilers/lingua-franca/default.nix b/pkgs/development/compilers/lingua-franca/default.nix new file mode 100644 index 00000000000..717748db55c --- /dev/null +++ b/pkgs/development/compilers/lingua-franca/default.nix @@ -0,0 +1,39 @@ +{ lib, pkgs, stdenv, jdk11_headless }: +stdenv.mkDerivation { + name = "lfc"; + version = "0.1.0"; + + src = fetchGit { + url = "https://github.com/revol-xut/lingua-franca-nix-releases.git"; + rev = "11c6d5297cd63bf0b365a68c5ca31ec80083bd05"; + ref = "master"; + }; + + buildInputs = [ jdk11_headless ]; + + _JAVA_HOME = "${jdk11_headless}/"; + + postPatch = '' + substituteInPlace bin/lfc \ + --replace 'base=`dirname $(dirname ''${abs_path})`' "base='$out'" \ + --replace "run_lfc_with_args" "${jdk11_headless}/bin/java -jar $out/lib/jars/org.lflang.lfc-${version}-SNAPSHOT-all.jar" + ''; + + installPhase = '' + cp -r ./ $out/ + chmod +x $out/bin/lfc + ''; + + meta = with lib; { + description = "Polyglot coordination language"; + longDescription = '' + Lingua Franca (LF) is a polyglot coordination language for concurrent + and possibly time-sensitive applications ranging from low-level + embedded code to distributed cloud and edge applications. + ''; + homepage = "https://github.com/lf-lang/lingua-franca"; + license = licenses.bsd2; + platforms = platforms.all; + maintainers = with maintainers; [ revol-xut ]; + }; +}