1{ stdenv, lib, fetchFromGitHub, makeWrapper }:
2
3stdenv.mkDerivation rec {
4 pname = "muon";
5 version = "2019-11-27";
6
7 src = fetchFromGitHub {
8 owner = "nickmqb";
9 repo = pname;
10 rev = "6d3a5054ae75b0e5a0ae633cf8cbc3e2a054f8b3";
11 sha256 = "1sb1i08421jxlx791g8nh4l239syaj730hagkzc159g0z65614zz";
12 };
13
14 nativeBuildInputs = [ makeWrapper ];
15
16 buildPhase = ''
17 mkdir -p $out/bin $out/share/mu
18 cp -r lib $out/share/mu
19 ${stdenv.cc.targetPrefix}cc -o $out/bin/mu-unwrapped bootstrap/mu64.c
20 '';
21
22 installPhase = ''
23 makeWrapper $out/bin/mu-unwrapped $out/bin/mu \
24 --add-flags $out/share/mu/lib/core.mu
25 '';
26
27 meta = with lib; {
28 description = "Modern low-level programming language";
29 homepage = "https://github.com/nickmqb/muon";
30 license = licenses.mit;
31 maintainers = with maintainers; [ Br1ght0ne ];
32 platforms = platforms.all;
33 };
34}