summaryrefslogtreecommitdiff
path: root/pkgs/rv8.nix
blob: 61cb91f5c36c4bad0fb9d251fcd981d1628d3da6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
{ callPackage, lib, fetchFromGitHub, stdenv, writeText, ... }:
stdenv.mkDerivation {
  pname = "rv8";
  version = "master";

  src = fetchFromGitHub {
    owner = "michaeljclark";
    repo = "rv8";
    rev = "834259098a5c182874aac97d82a164d144244e1a";
    sha256 = "sha256-I1lMKxfu+04Ap9WNjr8S1FLcUpQ3pVlTu61L/LFFGJ0=";
    fetchSubmodules = true;
  };

  makeFlags = [ "AR=${stdenv.cc.targetPrefix}ar" "DEST_DIR=$(out)" ];

  preInstall = ''
    mkdir -p $out/bin $out/lib
  '';

  patches = [ (writeText "rv8-include-limits.patch" ''
    diff --git a/src/gen/gen-cc.cc b/src/gen/gen-cc.cc
    index fd9f948..44c8bf7 100644
    --- a/src/gen/gen-cc.cc
    +++ b/src/gen/gen-cc.cc
    @@ -12,6 +12,7 @@
     #include <deque>
     #include <map>
     #include <set>
    +#include <limits>
     
     #include "util.h"
     #include "cmdline.h"
    diff --git a/src/gen/gen-fpu-test.cc b/src/gen/gen-fpu-test.cc
    index f1b8f84..d0a2f32 100644
    --- a/src/gen/gen-fpu-test.cc
    +++ b/src/gen/gen-fpu-test.cc
    @@ -12,6 +12,7 @@
     #include <deque>
     #include <map>
     #include <set>
    +#include <limits>
     
     #include "util.h"
     #include "cmdline.h"
  '') ];
}