GNU bug report logs - #64179
[PATCH] gnu: Add wasm-micro-runtime.

Previous Next

Package: guix-patches;

Reported by: Felix Lechner <felix.lechner <at> lease-up.com>

Date: Mon, 19 Jun 2023 21:57:01 UTC

Severity: normal

Tags: patch

Done: Ricardo Wurmus <rekado <at> elephly.net>

Bug is archived. No further changes may be made.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 64179 in the body.
You can then email your comments to 64179 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to guix-patches <at> gnu.org:
bug#64179; Package guix-patches. (Mon, 19 Jun 2023 21:57:01 GMT) Full text and rfc822 format available.

Acknowledgement sent to Felix Lechner <felix.lechner <at> lease-up.com>:
New bug report received and forwarded. Copy sent to guix-patches <at> gnu.org. (Mon, 19 Jun 2023 21:57:01 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Felix Lechner <felix.lechner <at> lease-up.com>
To: guix-patches <at> gnu.org
Cc: Felix Lechner <felix.lechner <at> lease-up.com>
Subject: [PATCH] gnu: Add wasm-micro-runtime.
Date: Mon, 19 Jun 2023 14:56:37 -0700
* gnu/packages/web.scm (wasm-micro-runtime): New variable.
---
 gnu/packages/web.scm | 38 ++++++++++++++++++++++++++++++++++++++
 1 file changed, 38 insertions(+)

diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm
index f5b6c8cd2f..cfd3ae2d30 100644
--- a/gnu/packages/web.scm
+++ b/gnu/packages/web.scm
@@ -62,6 +62,7 @@
 ;;; Copyright © 2023 Paul A. Patience <paul <at> apatience.com>
 ;;; Copyright © 2022 Bruno Victal <mirai <at> makinata.eu>
 ;;; Copyright © 2023 David Thompson <dthompson2 <at> worcester.edu>
+;;; Copyright © 2023 Felix Lechner <felix.lechner <at> lease-up.com>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -111,6 +112,7 @@ (define-module (gnu packages web)
   #:use-module (gnu packages bittorrent)
   #:use-module (gnu packages boost)
   #:use-module (gnu packages build-tools)
+  #:use-module (gnu packages ccache)
   #:use-module (gnu packages check)
   #:use-module (gnu packages compression)
   #:use-module (gnu packages cpp)
@@ -1640,6 +1642,42 @@ (define-public wasm3
     (description "WASM3 is a fast WebAssembly interpreter.")
     (license license:expat)))
 
+(define-public wasm-micro-runtime
+  (package
+    (name "wasm-micro-runtime")
+    (version "1.2.2")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/bytecodealliance/wasm-micro-runtime")
+                    (commit (string-append "WAMR-" version))))
+              (file-name (git-file-name "WAMR" version))
+              (sha256
+               (base32
+                "1mbwaj25798ilhg02447k3c2813xvxd70dwdlr4ha73xxbdgi54f"))))
+    (build-system cmake-build-system)
+    (arguments
+     (list
+      #:phases
+      #~(modify-phases %standard-phases
+          (delete 'check)
+          (replace 'configure
+            (lambda _
+              (chdir "product-mini/platforms/linux")
+              (mkdir-p "build")
+              (chdir "build")
+              (invoke "cmake" "--install-prefix" #$output ".."))))))
+    (native-inputs (list
+                    ccache
+                    gcc))
+    (home-page "https://bytecodealliance.github.io/wamr.dev")
+    (synopsis "WebAssembly Micro Runtime")
+    (description "WebAssembly Micro Runtime (WAMR) is a lightweight standalone
+WebAssembly (Wasm) runtime with small footprint, high performance and highly
+configurable features for applications cross from embedded, IoT, edge to Trusted
+Execution Environment (TEE), smart contract, cloud native and other features.")
+    (license license:asl2.0)))
+
 (define-public websocketpp
   (package
     (name "websocketpp")

base-commit: d884fc9e2efecfba09af4694f5a13ad7fc6f704f
-- 
2.40.1





Information forwarded to guix-patches <at> gnu.org:
bug#64179; Package guix-patches. (Wed, 06 Sep 2023 13:56:03 GMT) Full text and rfc822 format available.

Message #8 received at 64179 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: Felix Lechner <felix.lechner <at> lease-up.com>
Cc: 64179 <at> debbugs.gnu.org
Subject: Re: bug#64179: [PATCH] gnu: Add wasm-micro-runtime.
Date: Wed, 06 Sep 2023 09:55:47 -0400
Hi Felix,

Felix Lechner <felix.lechner <at> lease-up.com> writes:

> * gnu/packages/web.scm (wasm-micro-runtime): New variable.

[...]

> +(define-public wasm-micro-runtime
> +  (package
> +    (name "wasm-micro-runtime")
> +    (version "1.2.2")
> +    (source (origin
> +              (method git-fetch)
> +              (uri (git-reference
> +                    (url "https://github.com/bytecodealliance/wasm-micro-runtime")
> +                    (commit (string-append "WAMR-" version))))
> +              (file-name (git-file-name "WAMR" version))
> +              (sha256
> +               (base32
> +                "1mbwaj25798ilhg02447k3c2813xvxd70dwdlr4ha73xxbdgi54f"))))
> +    (build-system cmake-build-system)
> +    (arguments
> +     (list
> +      #:phases
> +      #~(modify-phases %standard-phases
> +          (delete 'check)

Instead of deleting the check phase, uses #:tests? #f with an
appropriate comment (e.g.: ';no test suite' if inline).

> +          (replace 'configure
> +            (lambda _
> +              (chdir "product-mini/platforms/linux")
> +              (mkdir-p "build")
> +              (chdir "build")
> +              (invoke "cmake" "--install-prefix" #$output ".."))))))

Instead of overriding configure, missing all the important CMake options
that the default configure phase would use, did you try toa add a phase
like

--8<---------------cut here---------------start------------->8---
            (add-after 'unpack 'chdir
             (lambda _
              (chdir "product-mini/platforms/linux")))
--8<---------------cut here---------------end--------------->8---

It looks like this should do it.

> +    (native-inputs (list
> +                    ccache
> +                    gcc))

I'm pretty sure gcc is not necessary since it's already provided by
cmake-build-system.  ccache seems useless since we always build from
scratch in a clean environment.

Could you try the above suggestions and send a v2?

-- 
Thanks,
Maxim




Information forwarded to guix-patches <at> gnu.org:
bug#64179; Package guix-patches. (Wed, 06 Sep 2023 21:26:01 GMT) Full text and rfc822 format available.

Message #11 received at 64179 <at> debbugs.gnu.org (full text, mbox):

From: Felix Lechner <felix.lechner <at> lease-up.com>
To: 64179 <at> debbugs.gnu.org
Cc: Felix Lechner <felix.lechner <at> lease-up.com>
Subject: [PATCH v2] gnu: Add wasm-micro-runtime.
Date: Wed,  6 Sep 2023 14:23:50 -0700
* gnu/packages/web.scm (wasm-micro-runtime): New variable.
---

Hi Maxim,

The pointers were great. Everything worked. I also updated the version
to 1.2.3. Thanks!

Kind regards
Felix

 gnu/packages/web.scm | 31 +++++++++++++++++++++++++++++++
 1 file changed, 31 insertions(+)

diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm
index 46a60b8b15..2379a68741 100644
--- a/gnu/packages/web.scm
+++ b/gnu/packages/web.scm
@@ -63,6 +63,7 @@
 ;;; Copyright © 2022 Bruno Victal <mirai <at> makinata.eu>
 ;;; Copyright © 2023 David Thompson <dthompson2 <at> worcester.edu>
 ;;; Copyright © 2023 Christopher Howard <christopher <at> librehacker.com>
+;;; Copyright © 2023 Felix Lechner <felix.lechner <at> lease-up.com>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -1709,6 +1710,36 @@ (define-public wasm3
     (description "WASM3 is a fast WebAssembly interpreter.")
     (license license:expat)))
 
+(define-public wasm-micro-runtime
+  (package
+    (name "wasm-micro-runtime")
+    (version "1.2.3")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/bytecodealliance/wasm-micro-runtime")
+                    (commit (string-append "WAMR-" version))))
+              (file-name (git-file-name "WAMR" version))
+              (sha256
+               (base32
+                "1s7r8vfxixf737jp12cf7as68fd63lrmqdxj7fiqdla2wk89ly3f"))))
+    (build-system cmake-build-system)
+    (arguments
+     (list
+      #:tests? #f
+      #:phases
+      #~(modify-phases %standard-phases
+          (add-after 'unpack 'chdir
+            (lambda _
+              (chdir "product-mini/platforms/linux"))))))
+    (home-page "https://bytecodealliance.github.io/wamr.dev")
+    (synopsis "WebAssembly Micro Runtime")
+    (description "WebAssembly Micro Runtime (WAMR) is a lightweight standalone
+WebAssembly (Wasm) runtime with small footprint, high performance and highly
+configurable features for applications cross from embedded, IoT, edge to Trusted
+Execution Environment (TEE), smart contract, cloud native and other features.")
+    (license license:asl2.0)))
+
 (define-public websocketpp
   (package
     (name "websocketpp")

base-commit: 65dcfb3f3865d08467da747041263fd22460d393
-- 
2.41.0





Reply sent to Ricardo Wurmus <rekado <at> elephly.net>:
You have taken responsibility. (Wed, 20 Sep 2023 14:42:02 GMT) Full text and rfc822 format available.

Notification sent to Felix Lechner <felix.lechner <at> lease-up.com>:
bug acknowledged by developer. (Wed, 20 Sep 2023 14:42:02 GMT) Full text and rfc822 format available.

Message #16 received at 64179-done <at> debbugs.gnu.org (full text, mbox):

From: Ricardo Wurmus <rekado <at> elephly.net>
To: 64179-done <at> debbugs.gnu.org
Subject: [PATCH] gnu: Add wasm-micro-runtime.
Date: Wed, 20 Sep 2023 16:39:50 +0200
Thanks for the patch.  I pushed it to the master branch with commit
e05c225ffbc6decb8294d30dfb0776284025c19f.

I reflowed the description and tried to get the tests to run.  When I
decided to accept defeat I added a comment to explain why they are
disabled.

-- 
Ricardo




bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Thu, 19 Oct 2023 11:24:05 GMT) Full text and rfc822 format available.

This bug report was last modified 1 year and 230 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.