159e378cbb
GitOrigin-RevId: c04d5652cfa9742b1d519688f65d1bbccea9eb7e
40 lines
1.2 KiB
Nix
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;
|
|
};
|
|
}
|