diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix index 883d4edfeca6..f555b712ce07 100644 --- a/maintainers/maintainer-list.nix +++ b/maintainers/maintainer-list.nix @@ -9654,6 +9654,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 000000000000..b843fd5e850f --- /dev/null +++ b/pkgs/development/compilers/lingua-franca/default.nix @@ -0,0 +1,41 @@ +{ lib, pkgs, stdenv, fetchFromGitHub, jdk11_headless }: + +stdenv.mkDerivation { + pname = "lfc"; + version = "0.1.0"; + + src = fetchFromGitHub { + owner = "revol-xut"; + repo = "lingua-franca-nix-releases"; + rev = "11c6d5297cd63bf0b365a68c5ca31ec80083bd05"; + sha256 = "DgxunzC8Ep0WdwChDHWgG5QJbJZ8UgQRXtP1HZqL9Jg="; + }; + + 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-0.1.0-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.linux; + maintainers = with maintainers; [ revol-xut ]; + }; +}