Skip to content

Commit

Permalink
Merge pull request #116576 from wunderbrick/juniper
Browse files Browse the repository at this point in the history
  • Loading branch information
SuperSandro2000 committed Apr 12, 2021
2 parents 567960e + ddb3399 commit 36d6015
Show file tree
Hide file tree
Showing 3 changed files with 49 additions and 0 deletions.
6 changes: 6 additions & 0 deletions maintainers/maintainer-list.nix
Expand Up @@ -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";
Expand Down
41 changes: 41 additions & 0 deletions pkgs/development/compilers/juniper/default.nix
@@ -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;
};
}
2 changes: 2 additions & 0 deletions pkgs/top-level/all-packages.nix
Expand Up @@ -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;
Expand Down

0 comments on commit 36d6015

Please sign in to comment.