about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--maintainers/maintainer-list.nix6
-rw-r--r--pkgs/development/tools/hobbes/default.nix40
-rw-r--r--pkgs/top-level/all-packages.nix2
3 files changed, 48 insertions, 0 deletions
diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix
index 0204c1e3529f..f427fcab32f7 100644
--- a/maintainers/maintainer-list.nix
+++ b/maintainers/maintainer-list.nix
@@ -7259,6 +7259,12 @@
     githubId = 844343;
     name = "Thiago K. Okada";
   };
+  thmzlt = {
+    email = "git@thomazleite.com";
+    github = "thmzlt";
+    githubId = 7709;
+    name = "Thomaz Leite";
+  };
   ThomasMader = {
     email = "thomas.mader@gmail.com";
     github = "ThomasMader";
diff --git a/pkgs/development/tools/hobbes/default.nix b/pkgs/development/tools/hobbes/default.nix
new file mode 100644
index 000000000000..b56afc0a4351
--- /dev/null
+++ b/pkgs/development/tools/hobbes/default.nix
@@ -0,0 +1,40 @@
+{ stdenv, fetchFromGitHub, cmake, llvm_6, ncurses, readline, zlib }:
+
+stdenv.mkDerivation {
+  name = "hobbes";
+  version = "unstable-2020-03-10";
+
+  src = fetchFromGitHub {
+    owner = "morgan-stanley";
+    repo = "hobbes";
+    rev = "ae956df9da3f3b24630bc1757dfaa2a8952db07a";
+    sha256 = "1a0lb87vb0qcp5wy6swk4jcc88l7vhy6iflsk7zplw547mbjhjsy";
+  };
+
+  nativeBuildInputs = [
+    cmake
+  ];
+
+  buildInputs = [
+    llvm_6 # LLVM 6 is latest currently supported. See https://git.io/JvK6w.
+    ncurses
+    readline
+    zlib
+  ];
+
+  doCheck = false; # Running tests in NixOS hangs. See https://git.io/JvK7R.
+  checkTarget = "test";
+
+  meta = with stdenv.lib; {
+    description = "A language and an embedded JIT compiler";
+    longDescription = ''
+      Hobbes is a a language, embedded compiler, and runtime for efficient
+      dynamic expression evaluation, data storage and analysis.
+    '';
+    homepage = "https://github.com/Morgan-Stanley/hobbes";
+    license = licenses.asl20;
+    maintainers = [ maintainers.thmzlt ];
+    platforms = [ "x86_64-linux" "x86_64-darwin" ];
+    broken = stdenv.isDarwin;
+  };
+}
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 190be007f4f3..5cf06d016c02 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -173,6 +173,8 @@ in
 
   deadcode = callPackage ../development/tools/deadcode { };
 
+  hobbes = callPackage ../development/tools/hobbes { stdenv = gcc6Stdenv; }; # GCC 6 is latest currently supported. See https://git.io/JvK6M.
+
   proto-contrib = callPackage ../development/tools/proto-contrib {};
 
   protoc-gen-doc = callPackage ../development/tools/protoc-gen-doc {};