python312Packages.icontract: relax deps (#380554)
[NixPkgs.git] / pkgs / by-name / ju / juniper / package.nix
blobf32ad4f3ba1b57b80ab4c7f994fed5f8ea6a459d
2   lib,
3   fetchFromGitHub,
4   buildDotnetModule,
5   dotnetCorePackages,
6 }:
8 buildDotnetModule rec {
9   pname = "juniper";
10   version = "4.0.0";
12   src = fetchFromGitHub {
13     owner = "calebh";
14     repo = "Juniper";
15     rev = "286050d6be5606db0973feda556d8fbc48b4566c";
16     hash = "sha256-b+aDDz46Hxgt+Oh2fNMiXFfXhuy16mzauousQGq9+dg=";
17   };
19   projectFile = "Juniper/Juniper.fsproj";
20   nugetDeps = ./deps.json;
21   dotnet-sdk = dotnetCorePackages.sdk_8_0;
22   dotnet-runtime = dotnetCorePackages.runtime_8_0;
24   meta = {
25     description = "Functional reactive programming language for programming Arduino";
26     longDescription = ''
27       The purpose of Juniper is to provide a functional reactive programming
28       platform for designing Arduino projects. FRP's high-level approach to
29       timing-based events fits naturally with Arduino, with which programming
30       almost entirely revolves around reacting to realtime events. Juniper
31       transpiles to Arduino C++, which is then compiled to an Arduino
32       executable.
33     '';
34     homepage = "https://www.juniper-lang.org/";
35     license = lib.licenses.mit;
36     maintainers = with lib.maintainers; [ AlexSKaye ];
37     mainProgram = "Juniper";
38     inherit (dotnet-sdk.meta) platforms;
39   };