1{
2 lib,
3 stdenv,
4 fetchFromGitHub,
5 makeWrapper,
6 unixtools,
7}:
8
9stdenv.mkDerivation rec {
10 pname = "microscheme";
11 version = "0.9.3";
12
13 src = fetchFromGitHub {
14 owner = "ryansuchocki";
15 repo = "microscheme";
16 rev = "v${version}";
17 sha256 = "5qTWsBCfj5DCZ3f9W1bdo6WAc1DZqVxg8D7pwC95duQ=";
18 };
19
20 postPatch = ''
21 substituteInPlace makefile --replace gcc ${stdenv.cc.targetPrefix}cc
22 '';
23
24 nativeBuildInputs = [
25 makeWrapper
26 unixtools.xxd
27 ];
28
29 makeFlags = [ "PREFIX=${placeholder "out"}" ];
30
31 meta = with lib; {
32 homepage = "https://ryansuchocki.github.io/microscheme/";
33 description = "Scheme subset for Atmel microcontrollers";
34 mainProgram = "microscheme";
35 longDescription = ''
36 Microscheme is a Scheme subset/variant designed for Atmel
37 microcontrollers, especially as found on Arduino boards.
38 '';
39 license = licenses.mit;
40 platforms = platforms.all;
41 maintainers = with maintainers; [ ardumont ];
42 };
43}