nixpkgs/pkgs/by-name/ju/juniper/package.nix
aleksana 571c71e6f7 treewide: migrate packages to pkgs/by-name, take 1
We are migrating packages that meet below requirements:

1. using `callPackage`
2. called path is a directory
3. overriding set is empty (`{ }`)
4. not containing path expressions other than relative path (to
makenixpkgs-vet happy)
5. not referenced by nix files outside of the directory, other
than`pkgs/top-level/all-packages.nix`
6. not referencing nix files outside of the directory
7. not referencing `default.nix` (since it's changed to `package.nix`)
8. `outPath` doesn't change after migration

The tool is here: https://github.com/Aleksanaa/by-name-migrate.
2024-11-09 20:04:51 +08:00

41 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;
};
}