[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[bug#61586] [PATCH RFC 2/2] gnu: Add binaryen.
From: |
Liliana Marie Prikler |
Subject: |
[bug#61586] [PATCH RFC 2/2] gnu: Add binaryen. |
Date: |
Fri, 17 Feb 2023 21:28:10 +0100 |
* 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