summary refs log tree commit diff
path: root/pkgs/applications/altcoins/hsevm.nix
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/applications/altcoins/hsevm.nix')
-rw-r--r--pkgs/applications/altcoins/hsevm.nix53
1 files changed, 53 insertions, 0 deletions
diff --git a/pkgs/applications/altcoins/hsevm.nix b/pkgs/applications/altcoins/hsevm.nix
new file mode 100644
index 000000000000..6db55e9ab076
--- /dev/null
+++ b/pkgs/applications/altcoins/hsevm.nix
@@ -0,0 +1,53 @@
+{ aeson, ansi-wl-pprint, base, base16-bytestring
+, base64-bytestring, binary, brick, bytestring, containers
+, cryptonite, data-dword, deepseq, directory, filepath, ghci-pretty
+, here, HUnit, lens, lens-aeson, memory, mtl, optparse-generic
+, process, QuickCheck, quickcheck-text, readline, rosezipper
+, stdenv, tasty, tasty-hunit, tasty-quickcheck, temporary, text
+, text-format, unordered-containers, vector, vty
+, mkDerivation, fetchFromGitHub, lib
+, ncurses, zlib, bzip2, solc
+}:
+
+lib.overrideDerivation (mkDerivation rec {
+  pname = "hsevm";
+  version = "0.3.2";
+
+  src = fetchFromGitHub {
+    owner = "dapphub";
+    repo = "hsevm";
+    rev = "v${version}";
+    sha256 = "1c6zpphs03yfvyfbv1cjf04qh5q2miq7rpd7kx2cil77msi8hxw4";
+  };
+
+  isLibrary = false;
+  isExecutable = true;
+  enableSharedExecutables = false;
+
+  postInstall = ''
+    rm -rf $out/{lib,share}
+  '';
+
+  extraLibraries = [
+    aeson ansi-wl-pprint base base16-bytestring base64-bytestring
+    binary brick bytestring containers cryptonite data-dword deepseq
+    directory filepath ghci-pretty lens lens-aeson memory mtl
+    optparse-generic process QuickCheck quickcheck-text readline
+    rosezipper temporary text text-format unordered-containers vector
+    vty
+  ];
+  executableHaskellDepends = [
+    readline zlib bzip2
+  ];
+  testHaskellDepends = [
+    base binary bytestring ghci-pretty here HUnit lens mtl QuickCheck
+    tasty tasty-hunit tasty-quickcheck text vector
+  ];
+
+  homepage = "https://github.com/dapphub/hsevm";
+  description = "Ethereum virtual machine evaluator";
+  license = stdenv.lib.licenses.agpl3;
+  maintainers = [stdenv.lib.maintainers.dbrock];
+}) (attrs: {
+  buildInputs = attrs.buildInputs ++ [solc];
+})