depot/third_party/nixpkgs/pkgs/development/compilers/juniper/default.nix
Default email 159e378cbb Project import generated by Copybara.
GitOrigin-RevId: c04d5652cfa9742b1d519688f65d1bbccea9eb7e
2024-09-19 17:19:46 +03:00

40 lines
1.2 KiB
Nix

{
lib,
fetchFromGitHub,
buildDotnetModule,
dotnetCorePackages,
}:
buildDotnetModule rec {
pname = "juniper";
version = "4.0.0";
src = fetchFromGitHub {
owner = "calebh";
repo = "Juniper";
rev = "286050d6be5606db0973feda556d8fbc48b4566c";
hash = "sha256-b+aDDz46Hxgt+Oh2fNMiXFfXhuy16mzauousQGq9+dg=";
};
projectFile = "Juniper/Juniper.fsproj";
nugetDeps = ./deps.nix;
dotnet-sdk = dotnetCorePackages.sdk_8_0;
dotnet-runtime = dotnetCorePackages.runtime_8_0;
meta = {
description = "Functional reactive programming language for programming Arduino";
longDescription = ''
The purpose of Juniper is to provide a functional reactive programming
platform for designing Arduino projects. FRP's high-level approach to
timing-based events fits naturally with Arduino, with which programming
almost entirely revolves around reacting to realtime events. Juniper
transpiles to Arduino C++, which is then compiled to an Arduino
executable.
'';
homepage = "https://www.juniper-lang.org/";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ AlexSKaye ];
mainProgram = "Juniper";
inherit (dotnet-sdk.meta) platforms;
};
}