diff options
Diffstat (limited to 'nixpkgs/pkgs/development/tools/wabt/default.nix')
-rw-r--r-- | nixpkgs/pkgs/development/tools/wabt/default.nix | 47 |
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; + }; +} |