2021-06-16 20:08:44 +02:00
|
|
|
{ lib, fetchurl, ghc, stdenv, which }:
|
2021-04-20 19:35:01 +02:00
|
|
|
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;
|
2021-05-13 10:27:19 +02:00
|
|
|
maintainers = with maintainers; [ ambroisie ];
|
2021-04-20 19:35:01 +02:00
|
|
|
};
|
|
|
|
}
|