Hi Liliana,
On Fri, Feb 17, 2023 at 6:00 PM Liliana Marie Prikler
<liliana.prikler@gmail.com> wrote:
Toggle quote (65 lines)
>
> * gnu/packages/web.scm (binaryen): New variable.
> ---
> gnu/packages/web.scm | 45 ++++++++++++++++++++++++++++++++++++++++++++
> 1 file changed, 45 insertions(+)
>
> diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm
> index 7e49f798ea..0b509fa34c 100644
> --- a/gnu/packages/web.scm
> +++ b/gnu/packages/web.scm
> @@ -1558,6 +1558,51 @@ (define-public wabt
> other systems that want to manipulate WebAssembly files.")
> (license license:asl2.0)))
>
> +(define-public binaryen
> + (package
> + (name "binaryen")
> + (version "112")
> + (source (origin
> + (method git-fetch)
> + (uri (git-reference
> + (url "https://github.com/WebAssembly/binaryen")
> + (commit (string-append "version_" version))))
> + (file-name (git-file-name name version))
> + (sha256
> + (base32
> + "0970iz22yjxgi27d67kwmrx4zq7hig3i6b92vmlp4c4bd1bacny5"))
> + (modules '((guix build utils)))
> + (snippet #~(begin
> + (substitute* "CMakeLists.txt"
> + (("add_subdirectory\\(third_party\\)")
> + "find_package(GTest)"))
> + (substitute* "test/gtest/CMakeLists.txt"
> + (("include_directory\\(.*third_pary.*\\)") ""))
> + (delete-file-recursively "third_party")))))
> + (build-system cmake-build-system)
> + (arguments
> + (list #:out-of-source? #f ; for tests
> + #:configure-flags #~(list "-DBUILD_LLVM_DWARF=OFF")
> + #:phases
> + #~(modify-phases %standard-phases
> + (add-before 'check 'delete-failing-tests
> + (lambda _
> + ;; DWARF support relies on bundling LLVM, so don't
> + (for-each delete-file
> + (find-files "test/passes"
> + ".*dwarf.*\\.(bin\\.txt\|wasm)"))
> + (delete-file "test/unit/test_dwarf.py")))
> + (replace 'check
> + (lambda* (#:key tests? #:allow-other-keys)
> + (invoke "python" "check.py"))))))
> + (native-inputs (list googletest node-lts python-wrapper
> + python-lit python-filecheck))
> + (home-page "https://github.com/WebAssembly/binaryen")
> + (synopsis "WebAssembly compiler")
> + (description "Binaryen is a compiler and toolchain infrastructure library
> +written in C++, with a single-header C API as well as a Javascript API.")
> + (license license:asl2.0)))
> +
> (define-public wasm3
> (package
> (name "wasm3")
> --
> 2.39.1
This looks good to me! We are currently using a hackier package
recipe with tests disabled in the Guile Hoot (Guile -> WASM compiler)
Nice job getting the tests working!
- Dave