Merge pull request #116576 from wunderbrick/juniper

This commit is contained in:
Sandro 2021-04-12 02:26:00 +02:00 committed by GitHub
commit 36d6015eed
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 49 additions and 0 deletions

View file

@ -10572,6 +10572,12 @@
githubId = 13378502;
name = "Wulfsta";
};
wunderbrick = {
name = "Andrew Phipps";
email = "lambdafuzz@tutanota.com";
github = "wunderbrick";
githubId = 52174714;
};
wyvie = {
email = "elijahrum@gmail.com";
github = "wyvie";

View file

@ -0,0 +1,41 @@
{ lib, stdenv, fetchzip, makeWrapper, mono }:
stdenv.mkDerivation rec {
pname = "juniper";
version = "2.3.0";
src = fetchzip {
url = "http://www.juniper-lang.org/installers/Juniper-${version}.zip";
sha256 = "10am6fribyl7742yk6ag0da4rld924jphxja30gynzqysly8j0vg";
stripRoot = false;
};
doCheck = true;
nativeBuildInputs = [ makeWrapper ];
buildInputs = [ mono ];
installPhase = ''
runHook preInstall
rm juniper # original script with regular Linux assumptions
mkdir -p $out/bin
cp -r ./* $out
makeWrapper ${mono}/bin/mono $out/bin/juniper \
--add-flags "$out/Juniper.exe \$@"
runHook postInstall
'';
meta = with lib; {
description = "Functional reactive programming language for programming Arduino";
longDescription = ''
Juniper targets Arduino and supports many features typical of functional programming languages, including algebraic data types, tuples, records,
pattern matching, immutable data structures, parametric polymorphic functions, and anonymous functions (lambdas).
Some imperative programming concepts are also present in Juniper, such as for, while and do while loops, the ability to mark variables as mutable, and mutable references.
'';
homepage = "https://www.juniper-lang.org/";
license = licenses.mit;
maintainers = with maintainers; [ wunderbrick ];
platforms = platforms.linux;
};
}

View file

@ -10822,6 +10822,8 @@ in
javacard-devkit = pkgsi686Linux.callPackage ../development/compilers/javacard-devkit { };
juniper = callPackage ../development/compilers/juniper/default.nix { };
julia_10 = callPackage ../development/compilers/julia/1.0.nix {
gmp = gmp6;
inherit (darwin.apple_sdk.frameworks) CoreServices ApplicationServices;