pkgs: add havm
This is a dependency for Tiger Compiler [1]. [1]: https://assignments.lrde.epita.fr/
This commit is contained in:
parent
9a9ec81204
commit
e438b7b5f5
|
@ -1,5 +1,7 @@
|
|||
{ pkgs }:
|
||||
{
|
||||
havm = pkgs.callPackage ./havm { };
|
||||
|
||||
lohr = pkgs.callPackage ./lohr { };
|
||||
|
||||
nolimips = pkgs.callPackage ./nolimips { };
|
||||
|
|
30
pkgs/havm/default.nix
Normal file
30
pkgs/havm/default.nix
Normal file
|
@ -0,0 +1,30 @@
|
|||
{ fetchurl, ghc, lib, stdenv, which }:
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "havm";
|
||||
version = "0.28";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://www.lrde.epita.fr/~tiger/download/${pname}-${version}.tar.gz";
|
||||
sha256 = "sha256-FDi4FZ8rjGqRkFlROtcJsv+mks7MmIXQGV4bZrwkQrA=";
|
||||
};
|
||||
|
||||
buildInputs = [
|
||||
ghc
|
||||
which # Used by tests
|
||||
];
|
||||
|
||||
doCheck = true;
|
||||
|
||||
meta = with lib; {
|
||||
description = "A simple virtual machine to execute Andrew Appel's HIR/LIR";
|
||||
longDescription = ''
|
||||
HAVM is a virtual machine designed to execute simple register based high
|
||||
level intermediate code. It is based on the intermediate representations
|
||||
("canonicalized" or not) defined by Andrew Appel in his "Modern Compiler
|
||||
Implementation".
|
||||
'';
|
||||
homepage = "https://www.lrde.epita.fr/wiki/Havm";
|
||||
license = licenses.gpl2Plus;
|
||||
platforms = platforms.all;
|
||||
};
|
||||
}
|
Loading…
Reference in a new issue