summary refs log tree commit diff
path: root/pkgs/applications/altcoins
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/applications/altcoins')
-rw-r--r--pkgs/applications/altcoins/default.nix2
-rw-r--r--pkgs/applications/altcoins/hsevm.nix53
2 files changed, 55 insertions, 0 deletions
diff --git a/pkgs/applications/altcoins/default.nix b/pkgs/applications/altcoins/default.nix
index 22da4ed50b4..a2d995c36b9 100644
--- a/pkgs/applications/altcoins/default.nix
+++ b/pkgs/applications/altcoins/default.nix
@@ -39,6 +39,8 @@ rec {
   ethrun = callPackage ./ethrun.nix { };
   seth = callPackage ./seth.nix { };
 
+  hsevm = (pkgs.haskellPackages.callPackage ./hsevm.nix {});
+
   primecoin  = callPackage ./primecoin.nix { withGui = true; };
   primecoind = callPackage ./primecoin.nix { withGui = false; };
 
diff --git a/pkgs/applications/altcoins/hsevm.nix b/pkgs/applications/altcoins/hsevm.nix
new file mode 100644
index 00000000000..6db55e9ab07
--- /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];
+})