about summary refs log tree commit diff
path: root/nixpkgs/pkgs/development/tools/wabt/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'nixpkgs/pkgs/development/tools/wabt/default.nix')
-rw-r--r--nixpkgs/pkgs/development/tools/wabt/default.nix47
1 files changed, 47 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/development/tools/wabt/default.nix b/nixpkgs/pkgs/development/tools/wabt/default.nix
new file mode 100644
index 000000000000..11c9875bf9df
--- /dev/null
+++ b/nixpkgs/pkgs/development/tools/wabt/default.nix
@@ -0,0 +1,47 @@
+{ stdenv, fetchpatch, fetchFromGitHub, cmake, python3, substituteAll }:
+
+stdenv.mkDerivation rec {
+  pname = "wabt";
+  version = "1.0.16";
+
+  src = fetchFromGitHub {
+    owner = "WebAssembly";
+    repo = "wabt";
+    rev = version;
+    sha256 = "1zzc46d6m7l5lil423417crdda2cqb396p2idcla2ps161hwq3qp";
+    fetchSubmodules = true;
+  };
+
+  # https://github.com/WebAssembly/wabt/pull/1408
+  patches = [ (fetchpatch {
+    url = "https://github.com/WebAssembly/wabt/pull/1408/commits/28505f4db6e4561cf6840af5c304a9aa900c4987.patch";
+    sha256 = "1nh1ddsak6w51np17xf2r7i0czxrjslz1i4impmmp88h5bp2yjba";
+  }) ];
+
+  nativeBuildInputs = [ cmake ];
+  cmakeFlags = [ "-DBUILD_TESTS=OFF" "-DCMAKE_PROJECT_VERSION=${version}" ];
+  buildInputs = [ python3 ];
+
+  meta = with stdenv.lib; {
+    description = "The WebAssembly Binary Toolkit";
+    longDescription = ''
+      WABT (pronounced "wabbit") is a suite of tools for WebAssembly, including:
+       * wat2wasm: translate from WebAssembly text format to the WebAssembly
+         binary format
+       * wasm2wat: the inverse of wat2wasm, translate from the binary format
+         back to the text format (also known as a .wat)
+       * wasm-objdump: print information about a wasm binary. Similiar to
+         objdump.
+       * wasm-interp: decode and run a WebAssembly binary file using a
+         stack-based interpreter
+       * wat-desugar: parse .wat text form as supported by the spec interpreter
+         (s-expressions, flat syntax, or mixed) and print "canonical" flat
+         format
+       * wasm2c: convert a WebAssembly binary file to a C source and header
+    '';
+    homepage = "https://github.com/WebAssembly/wabt";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ ekleog ];
+    platforms = platforms.unix;
+  };
+}