nixpkgs mirror (for testing)
github.com/NixOS/nixpkgs
nix
1{
2 stdenv,
3 fetchFromGitHub,
4 lib,
5 cmake,
6 gmp,
7 pkg-config,
8 sail,
9 ninja,
10 zlib,
11 z3,
12}:
13
14stdenv.mkDerivation rec {
15 pname = "sail-riscv";
16 version = "0.7";
17
18 src = fetchFromGitHub {
19 owner = "riscv";
20 repo = pname;
21 rev = version;
22 hash = "sha256-Keu96+yHWUEFO3rRLvF7rzcJmF3y/V/uyK7TIFj0Xw0=";
23 };
24
25 nativeBuildInputs = [
26 z3
27 cmake
28 pkg-config
29 ninja
30 sail
31 ];
32 buildInputs = [
33 zlib
34 gmp
35 ];
36 strictDeps = true;
37
38 preBuild = ''
39 ninja \
40 riscv_sim_rv32d \
41 riscv_sim_rv32d_rvfi \
42 riscv_sim_rv32f \
43 riscv_sim_rv32f_rvfi \
44 riscv_sim_rv64d \
45 riscv_sim_rv64d_rvfi \
46 riscv_sim_rv64f \
47 riscv_sim_rv64f_rvfi
48 '';
49
50 meta = with lib; {
51 homepage = "https://github.com/riscv/sail-riscv";
52 description = "Formal specification of the RISC-V architecture, written in Sail";
53 maintainers = with maintainers; [ genericnerdyusername ];
54 license = licenses.bsd2;
55 };
56}