From unknown Sun Jun 15 08:49:26 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#77653] [PATCH 0/4] Add WASM toolchain, wasi-libc, and browser WASM sandbox support Resent-From: Ian Eure Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Tue, 08 Apr 2025 19:58:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 77653 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 77653@debbugs.gnu.org Cc: Ian Eure X-Debbugs-Original-To: guix-patches@gnu.org Received: via spool by submit@debbugs.gnu.org id=B.17441422701181 (code B ref -1); Tue, 08 Apr 2025 19:58:02 +0000 Received: (at submit) by debbugs.gnu.org; 8 Apr 2025 19:57:50 +0000 Received: from localhost ([127.0.0.1]:35599 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1u2F4v-0000Ix-KH for submit@debbugs.gnu.org; Tue, 08 Apr 2025 15:57:50 -0400 Received: from lists.gnu.org ([2001:470:142::17]:35914) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1u2F4s-0000Ia-Iv for submit@debbugs.gnu.org; Tue, 08 Apr 2025 15:57:47 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1u2F4j-0006oS-5H for guix-patches@gnu.org; Tue, 08 Apr 2025 15:57:37 -0400 Received: from fout-a4-smtp.messagingengine.com ([103.168.172.147]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1u2F4c-0003O3-5o for guix-patches@gnu.org; Tue, 08 Apr 2025 15:57:36 -0400 Received: from phl-compute-11.internal (phl-compute-11.phl.internal [10.202.2.51]) by mailfout.phl.internal (Postfix) with ESMTP id 09B6A1380194; Tue, 8 Apr 2025 15:57:25 -0400 (EDT) Received: from phl-mailfrontend-02 ([10.202.2.163]) by phl-compute-11.internal (MEProxy); Tue, 08 Apr 2025 15:57:25 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=retrospec.tv; h= cc:cc:content-transfer-encoding:content-type:date:date:from:from :in-reply-to:message-id:mime-version:reply-to:subject:subject:to :to; s=fm1; t=1744142245; x=1744228645; bh=0UUAqwMtjrq9UrYC/6JSI kPF8vtVBG7ItbCAiOXQGgA=; b=jyOvFfTfiiVBdSxoSkSc0vOBP/NC9QctuV5gA 3K/eeQLJnriyy/L44+q31HKi2EXzFIzdxr59ROIzlhQjb6wQVD14iFEOJoQt8Ok1 WnGpWTLEDs1QkCZvmmFn0cEsPmICY+T9Nc1jssCB6PRy4gDzlFhXNZaQGMff528/ 90Yf6uT6GaoREk0m+pvu9ggX+ot4BxEhZuFN/xeXBtGALGC+rbp0ZMwqBw8JvsAL 8QFv1/F68NkHx/+puSbUACrq/T441XaMrQYPMJdNO3oR0KDhUhfFAkJmUZvyMkB/ qMux27011c3Cngs6kKIY7SBkgmqHefN/vs02BSHxJt8uEJ6Yw== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:cc:content-transfer-encoding :content-type:date:date:feedback-id:feedback-id:from:from :in-reply-to:message-id:mime-version:reply-to:subject:subject:to :to:x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s=fm2; t= 1744142245; x=1744228645; bh=0UUAqwMtjrq9UrYC/6JSIkPF8vtVBG7ItbC AiOXQGgA=; b=xkOGWio+TDBUNjhE7coUD8PPF+hu0eUWo9/J0gHXSnTlvLD7RCQ mGj0FMzrukvt104k/AXsQamaMMWYHDV75SPTqebVsleOJ7wnGeCPbl+UohEXkRPL JpXZfULrf8PCVtMYaAVUhrfx9PsPkJFv6Y6UjkNSYzAzzZsDiljZwACtlY0OfiQU 7cf1hXBRlJrZSABjKHGmEr0QwkUTkDUYQ4THxNGU3o+WXzSU5bz+MX1YP6mCt//f BuG+32CYfgazOo1cEDvFMnQMlPuaOpZgHEtuBCTMtrMhzAhTvjMEtYKUuc2HQzfZ CQeVogGYBGjdUp9d3lU56r9Q30y0D5t2VuQ== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeefvddrtddtgddvtdefleelucetufdoteggodetrf dotffvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdggtfgfnhhsuhgsshgtrhhisggv pdfurfetoffkrfgpnffqhgenuceurghilhhouhhtmecufedttdenucenucfjughrpefhvf evufffkffoggfgsedtkeertdertddtnecuhfhrohhmpefkrghnucfguhhrvgcuoehirghn sehrvghtrhhoshhpvggtrdhtvheqnecuggftrfgrthhtvghrnhepteduveegfefhieegke efkeeitdelleelffettefgueelteeitdeuleefgeffjeevnecuffhomhgrihhnpehmohii ihhllhgrrdhorhhgpdgtohguvggsvghrghdrohhrghdpghhithhlrggsrdgtohhmnecuve hluhhsthgvrhfuihiivgeptdenucfrrghrrghmpehmrghilhhfrhhomhepihgrnhesrhgv thhrohhsphgvtgdrthhvpdhnsggprhgtphhtthhopedvpdhmohguvgepshhmthhpohhuth dprhgtphhtthhopehguhhigidqphgrthgthhgvshesghhnuhdrohhrghdprhgtphhtthho pehirghnsehrvghtrhhoshhpvggtrdhtvh X-ME-Proxy: Feedback-ID: id9014242:Fastmail Received: by mail.messagingengine.com (Postfix) with ESMTPA; Tue, 8 Apr 2025 15:57:23 -0400 (EDT) From: Ian Eure Date: Tue, 8 Apr 2025 12:57:20 -0700 Message-ID: <20250408195720.2021-1-ian@retrospec.tv> X-Mailer: git-send-email 2.49.0 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Received-SPF: pass client-ip=103.168.172.147; envelope-from=ian@retrospec.tv; helo=fout-a4-smtp.messagingengine.com X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H2=0.001, RCVD_IN_VALIDITY_CERTIFIED_BLOCKED=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-Spam-Score: 0.7 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.3 (/) This patch series adds a Clang variant which can emit WASM; runtime support for WASM binaries; wasi-libc, a libc implementation for WASM programs; and a `wasm-sandboxed' function which creates a WASM sandboxed variant of Firefox-based browsers. In Firefox and Firefox-derived browsers, WASM sandboxing is a security technique which compiles C/C++ libraries into WASM, then translates the WASM back into native code. This allows leveraging the WASM security model to isolate the library from the browser, without needing a separate process to contain it. Please see this blog post for more info: https://hacks.mozilla.org/2020/02/securing-firefox-with-webassembly/ The code is extracted from my personal channel[1], which in turn is based on work done for nonguix's Firefox package. I've been daliy-driving personal variants of LibreWolf since before the package was accepted into Guix, and nonguix's Firefox has been using it even longer. [1]: https://codeberg.org/ieure/atomized-guix/src/branch/main/atomized/packages/wasm.scm [2]: https://gitlab.com/nonguix/nonguix/-/blob/master/nongnu/packages/wasm.scm?ref_type=heads Ian Eure (4): gnu: Add wasi-libc. gnu: Add wasm32-wasi-clang-runtime. gnu: Add wasm32-wasi-clang. gnu: Add wasm-sandboxed. gnu/packages/gnuzilla.scm | 30 +++++++++ gnu/packages/wasm.scm | 135 ++++++++++++++++++++++++++++++++++++++ 2 files changed, 165 insertions(+) create mode 100644 gnu/packages/wasm.scm -- 2.49.0 From unknown Sun Jun 15 08:49:26 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#77653] [PATCH 2/4] gnu: Add wasm32-wasi-clang-runtime. Resent-From: Ian Eure Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Tue, 08 Apr 2025 19:59:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 77653 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 77653@debbugs.gnu.org Cc: Ian Eure Received: via spool by 77653-submit@debbugs.gnu.org id=B77653.17441423241349 (code B ref 77653); Tue, 08 Apr 2025 19:59:02 +0000 Received: (at 77653) by debbugs.gnu.org; 8 Apr 2025 19:58:44 +0000 Received: from localhost ([127.0.0.1]:35615 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1u2F5n-0000Lg-Hz for submit@debbugs.gnu.org; Tue, 08 Apr 2025 15:58:43 -0400 Received: from fout-a4-smtp.messagingengine.com ([103.168.172.147]:42083) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1u2F5k-0000LA-OR for 77653@debbugs.gnu.org; Tue, 08 Apr 2025 15:58:41 -0400 Received: from phl-compute-03.internal (phl-compute-03.phl.internal [10.202.2.43]) by mailfout.phl.internal (Postfix) with ESMTP id 7EF8B13801BF; Tue, 8 Apr 2025 15:58:35 -0400 (EDT) Received: from phl-mailfrontend-02 ([10.202.2.163]) by phl-compute-03.internal (MEProxy); Tue, 08 Apr 2025 15:58:35 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=retrospec.tv; h= cc:cc:content-transfer-encoding:content-type:date:date:from:from :in-reply-to:in-reply-to:message-id:mime-version:references :reply-to:subject:subject:to:to; s=fm1; t=1744142315; x= 1744228715; bh=MhWjfuDkwmIihm2LinIJt4s354N2QSFCeszYtmRdYsE=; b=F q1tkOJrbq1k+ORSQxDj3nGr1AO6kuOQWpEml2MXuDHXTPZpGMnh019/J/nBMxhCI zDNLcn47zxgqgggl82eHPKhZstWMn3M5NSlFx0pPaencb5ttWUdoYknMDUqH9YpY 2a+PtVccyYPd0iV02o8IX9aAQRhBul3bLkNZpLJkMPoi3Mp8naiAK5+qdqNeKGII OLRu7fplY9Dw0Hqkt8UclSaGxg25OTJgGxM8wYQoIx6o7v+G0/kbr8sYUA2CeGCB 8hbg7ExFT/v9NTrumdyQ6Eyfzf7yMUS6Js+akpAgZ+8sebAHL6zNDdfqgADcCo77 QFsbAkdnQYG5koZ86mzzw== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:cc:content-transfer-encoding :content-type:date:date:feedback-id:feedback-id:from:from :in-reply-to:in-reply-to:message-id:mime-version:references :reply-to:subject:subject:to:to:x-me-proxy:x-me-sender :x-me-sender:x-sasl-enc; s=fm2; t=1744142315; x=1744228715; bh=M hWjfuDkwmIihm2LinIJt4s354N2QSFCeszYtmRdYsE=; b=Q1O3e51sUedVZMXei MoZQslqknn0EdE8XrQi2u9D42VmlTwkRYfHVEa2/KuXKLuxxrNI/EIgTBc1esql4 8GcaVtICxRNLfckbMZqieqd5/62h4Hf3mqqcC7hn/gBRpbo/Clu8wuzNLVEAgHwS Rq89vY05aGKN9JoojK0kErY/oLYpBYqo2O9jo3JumYMT5RBb0guHtVnTPAk7K04U XmYnVJfxC2/y6LfHbFmsXPtqYGPo5Thi+w+gxJQNx9HWc+64ZsYuVpRgt7spd090 WxNT2FUK9BcbdOCQfbeoL+rZxot3n0NkOhl6eCbscACTeoEYxDynjEDJSiK5mGy9 TndMw== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeefvddrtddtgddvtdefleelucetufdoteggodetrf dotffvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdggtfgfnhhsuhgsshgtrhhisggv pdfurfetoffkrfgpnffqhgenuceurghilhhouhhtmecufedttdenucenucfjughrpefhvf evufffkffojghfggfgsedtkeertdertddtnecuhfhrohhmpefkrghnucfguhhrvgcuoehi rghnsehrvghtrhhoshhpvggtrdhtvheqnecuggftrfgrthhtvghrnhepveevjeffuddvte eiueetgfeukedvfeeiuedvveelfeeghfduleeftedvgfefgeejnecuvehluhhsthgvrhfu ihiivgeptdenucfrrghrrghmpehmrghilhhfrhhomhepihgrnhesrhgvthhrohhsphgvtg drthhvpdhnsggprhgtphhtthhopedvpdhmohguvgepshhmthhpohhuthdprhgtphhtthho peejjeeiheefseguvggssghughhsrdhgnhhurdhorhhgpdhrtghpthhtohepihgrnhesrh gvthhrohhsphgvtgdrthhv X-ME-Proxy: Feedback-ID: id9014242:Fastmail Received: by mail.messagingengine.com (Postfix) with ESMTPA; Tue, 8 Apr 2025 15:58:34 -0400 (EDT) From: Ian Eure Date: Tue, 8 Apr 2025 12:58:27 -0700 Message-ID: <20250408195830.2084-2-ian@retrospec.tv> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250408195830.2084-1-ian@retrospec.tv> References: <20250408195830.2084-1-ian@retrospec.tv> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: -0.7 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.7 (-) * gnu/packages/wasm.scm (wasm32-wasi-clang-runtime): New variable. Change-Id: Ib0465fdc86086451782d533380a8966cdde6dc1e --- gnu/packages/wasm.scm | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/gnu/packages/wasm.scm b/gnu/packages/wasm.scm index 060e1e420f..53ea31f4a7 100644 --- a/gnu/packages/wasm.scm +++ b/gnu/packages/wasm.scm @@ -76,3 +76,33 @@ (define-public wasi-libc license:bsd-2 ;; For wasi-libc and musl-libc. license:expat)))) + +(define-public wasm32-wasi-clang-runtime + (package (inherit clang-runtime-16) + (native-inputs + (list clang-16 + wasi-libc)) + (inputs (list llvm-16)) + (arguments + (list + #:build-type "Release" + #:tests? #f + ;; Stripping binaries breaks wasm linking, resulting in the following + ;; error: "archive has no index; run ranlib to add one". + #:strip-binaries? #f + #:configure-flags + #~(list "-DCMAKE_C_COMPILER=clang" + "-DCMAKE_C_COMPILER_TARGET=wasm32-wasi" + (string-append + "-DCMAKE_SYSROOT=" #$wasi-libc "/wasm32-wasi") + (string-append + "-DCMAKE_C_FLAGS=-I " #$wasi-libc "/wasm32-wasi/include") + + "-DCOMPILER_RT_OS_DIR=wasi" + + "-DCOMPILER_RT_BAREMETAL_BUILD=On" + "-DCOMPILER_RT_DEFAULT_TARGET_ONLY=On" + + ;; WASM only needs libclang_rt.builtins-wasm32.a from + ;; compiler-rt. + "../source/compiler-rt/lib/builtins"))))) -- 2.49.0 From unknown Sun Jun 15 08:49:26 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#77653] [PATCH 1/4] gnu: Add wasi-libc. References: <20250408195720.2021-1-ian@retrospec.tv> In-Reply-To: <20250408195720.2021-1-ian@retrospec.tv> Resent-From: Ian Eure Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Tue, 08 Apr 2025 19:59:03 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 77653 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 77653@debbugs.gnu.org Cc: Ian Eure Received: via spool by 77653-submit@debbugs.gnu.org id=B77653.17441423281364 (code B ref 77653); Tue, 08 Apr 2025 19:59:03 +0000 Received: (at 77653) by debbugs.gnu.org; 8 Apr 2025 19:58:48 +0000 Received: from localhost ([127.0.0.1]:35617 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1u2F5s-0000Lv-1u for submit@debbugs.gnu.org; Tue, 08 Apr 2025 15:58:48 -0400 Received: from fhigh-a7-smtp.messagingengine.com ([103.168.172.158]:56195) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1u2F5k-0000L8-Ej for 77653@debbugs.gnu.org; Tue, 08 Apr 2025 15:58:41 -0400 Received: from phl-compute-10.internal (phl-compute-10.phl.internal [10.202.2.50]) by mailfhigh.phl.internal (Postfix) with ESMTP id A81361140177; Tue, 8 Apr 2025 15:58:34 -0400 (EDT) Received: from phl-mailfrontend-02 ([10.202.2.163]) by phl-compute-10.internal (MEProxy); Tue, 08 Apr 2025 15:58:34 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=retrospec.tv; h= cc:cc:content-transfer-encoding:content-type:content-type:date :date:from:from:in-reply-to:message-id:mime-version:reply-to :subject:subject:to:to; s=fm1; t=1744142314; x=1744228714; bh=+Y zOMYgEd66FjCF+pM2fVAm11Tjatsfkycc89Wubzk4=; b=MdyQNx6jw/2Q1IJlXZ 2H6cagdc1yiNIjyzh6aOkYXs/Jky8deyboxBv4Et28fDcw6zJTT353ruYPTtYFCY 0KOjpDyELZLeK1p27Qk6pmzTQtgdIy5fdp6p5AmY3F2LHH7pV3aEpSpDcNOI6pzw 0ijSgIbZU41iD1MjANDQUnZtM61ROZvDMFZfBv8vJTlDvLVa9scGW2CDstKST1jo 6Uyor8qfN5sKZCR9zDVwAdBoFyKKb4JTptLOiIp8BdTAVgsPWGAWTJzspX0dZawT 63F5j1AyKboa9k7FXBjlnYoNYqyd3TfAcq6Uw7RmpNjSaRkRBWXersUizszqjigY BRXA== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:cc:content-transfer-encoding :content-type:content-type:date:date:feedback-id:feedback-id :from:from:in-reply-to:message-id:mime-version:reply-to:subject :subject:to:to:x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s= fm2; t=1744142314; x=1744228714; bh=+YzOMYgEd66FjCF+pM2fVAm11Tja tsfkycc89Wubzk4=; b=HzH6MNcqxFQ1uhZUY9OC3fpo3aVmDVIda1As4+PwL9/R Eg+L0zKL5Yt8DXvhsWYIMKAZREt6DCzk+acSdXhx1x0m3Zx9dMn3hrCaZFF0yyvi VRqfrdUicdfy5ZX2+EQ/+p+nbDAhXEfoNw6wcGjSyR2cDhu6gUCsXqBKlS2Oh0E6 2naGnz7sH8R5AStJ5IBgvJlRFnWwx9MS8yUdC8s7uWXdmaSKZVbLTYiKXfR/CJEa iz60fuQm5mKgAvIAjH5HfZjJy84LpGSym41EW91FZrTY6Ya5n++nHiXVio2daZMw 4KgRgChb3nt1HvyELFFIsKXdwjN4dQ4BUQi6vXTLfA== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeefvddrtddtgddvtdefleelucetufdoteggodetrf dotffvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdggtfgfnhhsuhgsshgtrhhisggv pdfurfetoffkrfgpnffqhgenuceurghilhhouhhtmecufedttdenucenucfjughrpefhvf evufffkffogggtgfesthekredtredtjeenucfhrhhomhepkfgrnhcugfhurhgvuceoihgr nhesrhgvthhrohhsphgvtgdrthhvqeenucggtffrrghtthgvrhhnpeduveefjeeijefgff efhffhveffleeffeejvdetgeegffevheejvddtvdeuheekveenucffohhmrghinhepghhn uhdrohhrghdpghhithhhuhgsrdgtohhmpdhmohiiihhllhgrrdhorhhgpdifrghsihdrug gvvhenucevlhhushhtvghrufhiiigvpedtnecurfgrrhgrmhepmhgrihhlfhhrohhmpehi rghnsehrvghtrhhoshhpvggtrdhtvhdpnhgspghrtghpthhtohepvddpmhhouggvpehsmh htphhouhhtpdhrtghpthhtohepjeejieehfeesuggvsggsuhhgshdrghhnuhdrohhrghdp rhgtphhtthhopehirghnsehrvghtrhhoshhpvggtrdhtvh X-ME-Proxy: Feedback-ID: id9014242:Fastmail Received: by mail.messagingengine.com (Postfix) with ESMTPA; Tue, 8 Apr 2025 15:58:33 -0400 (EDT) From: Ian Eure Date: Tue, 8 Apr 2025 12:58:26 -0700 Message-ID: <20250408195830.2084-1-ian@retrospec.tv> X-Mailer: git-send-email 2.49.0 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Spam-Score: -0.7 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.7 (-) * gnu/packages/wasm.scm (wasi-libc): New variable. Change-Id: I1aefc4573424e19119d225904b5461b1bea0221e --- gnu/packages/wasm.scm | 78 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 78 insertions(+) create mode 100644 gnu/packages/wasm.scm diff --git a/gnu/packages/wasm.scm b/gnu/packages/wasm.scm new file mode 100644 index 0000000000..060e1e420f --- /dev/null +++ b/gnu/packages/wasm.scm @@ -0,0 +1,78 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2022-2023 Pierre Langlois +;;; Copyright © 2023, 2024, 2025 Ian Eure +;;; +;;; This file is part of GNU Guix. +;;; +;;; GNU Guix is free software; you can redistribute it and/or modify it +;;; under the terms of the GNU General Public License as published by +;;; the Free Software Foundation; either version 3 of the License, or (at +;;; your option) any later version. +;;; +;;; GNU Guix is distributed in the hope that it will be useful, but +;;; WITHOUT ANY WARRANTY; without even the implied warranty of +;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;;; GNU General Public License for more details. +;;; +;;; You should have received a copy of the GNU General Public License +;;; along with GNU Guix. If not, see . + +(define-module (gnu packages wasm) + #:use-module (gnu packages llvm) + #:use-module (guix base32) + #:use-module (guix build-system gnu) + #:use-module (guix gexp) + #:use-module (guix git-download) + #:use-module ((guix licenses) #:prefix license:) + #:use-module (guix packages)) + +(define-public wasi-libc + (package + (name "wasi-libc") + (version "sdk-20") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/WebAssembly/wasi-libc") + (commit (string-append "wasi-" version)) + (recursive? #t))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0knm5ch499dksmv1k0kh7356pjd9n1gjn0p3vp9bw57mn478zp8z")))) + (build-system gnu-build-system) + (native-inputs (list clang-16)) + (arguments + (list #:tests? #f ;No test suite + ;; Firefox uses wasm2c to compile WebAssembly to C code, and it + ;; does not support the memory.copy opcode. + ;; See https://bugzilla.mozilla.org/show_bug.cgi?id=1773200#c4 + #:make-flags ''("BULK_MEMORY_SOURCES=") + #:phases + #~(modify-phases %standard-phases + (delete 'configure) + (add-before 'build 'set-sysroot-include + (lambda _ + (setenv "C_INCLUDE_PATH" + (string-append (getcwd) "/sysroot/include")))) + (add-before 'install 'set-install-dir + (lambda _ + (setenv "INSTALL_DIR" + (string-append #$output "/wasm32-wasi"))))))) + (home-page "https://wasi.dev") + (synopsis "WASI libc implementation for WebAssembly") + (description + "WASI Libc is a libc for WebAssembly programs built on top of WASI +system calls. It provides a wide array of POSIX-compatible C APIs, including +support for standard I/O, file I/O, filesystem manipulation, memory +management, time, string, environment variables, program startup, and many +other APIs.") + (license (list + ;; For wasi-libc, with LLVM exceptions + license:asl2.0 + ;; For malloc.c. + license:cc0 + ;; For cloudlibc. + license:bsd-2 + ;; For wasi-libc and musl-libc. + license:expat)))) -- 2.49.0 From unknown Sun Jun 15 08:49:26 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#77653] [PATCH 3/4] gnu: Add wasm32-wasi-clang. Resent-From: Ian Eure Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Tue, 08 Apr 2025 19:59:03 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 77653 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 77653@debbugs.gnu.org Cc: Ian Eure Received: via spool by 77653-submit@debbugs.gnu.org id=B77653.17441423321382 (code B ref 77653); Tue, 08 Apr 2025 19:59:03 +0000 Received: (at 77653) by debbugs.gnu.org; 8 Apr 2025 19:58:52 +0000 Received: from localhost ([127.0.0.1]:35619 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1u2F5v-0000MC-RW for submit@debbugs.gnu.org; Tue, 08 Apr 2025 15:58:52 -0400 Received: from fout-a4-smtp.messagingengine.com ([103.168.172.147]:60185) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1u2F5l-0000LC-KV for 77653@debbugs.gnu.org; Tue, 08 Apr 2025 15:58:41 -0400 Received: from phl-compute-11.internal (phl-compute-11.phl.internal [10.202.2.51]) by mailfout.phl.internal (Postfix) with ESMTP id 569381380194; Tue, 8 Apr 2025 15:58:36 -0400 (EDT) Received: from phl-mailfrontend-02 ([10.202.2.163]) by phl-compute-11.internal (MEProxy); Tue, 08 Apr 2025 15:58:36 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=retrospec.tv; h= cc:cc:content-transfer-encoding:content-type:date:date:from:from :in-reply-to:in-reply-to:message-id:mime-version:references :reply-to:subject:subject:to:to; s=fm1; t=1744142316; x= 1744228716; bh=CKE9h4Q974/sAw7NUwUqGQ4rKmHKHHsI63d2Osz6how=; b=g m/VOemtCH8AsGO3O1wuOAnAnBXLDGsyMDA0QzE5kbe2L0ijKlIdIF6aqQcwuJJoN wW4x6+OQxBl1PdXuTg2XJR9zmwc06M0MNGJdFnHpCwQrNzJKCM2eSBX1Gm8I4R0E 6pqhQY7+p4XofEp3CAHFvEKbWDX36QOEI0i1YyqPPSltezooqNvsQTItl/egJoC3 wLyp1O/4yXD4MSseB7eqsaZSIO9FYlu3TNrrWrHJlcRrJFOGrDOZhq56D+O5JyAF 3I+yrqJE9bizwr7d/2Zlbjyz9gIfRSX4UobAvgAVlfmIny9a3jXg4InUm5HbvS8t DLIAWefaeBsnp/2uW6dew== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:cc:content-transfer-encoding :content-type:date:date:feedback-id:feedback-id:from:from :in-reply-to:in-reply-to:message-id:mime-version:references :reply-to:subject:subject:to:to:x-me-proxy:x-me-sender :x-me-sender:x-sasl-enc; s=fm2; t=1744142316; x=1744228716; bh=C KE9h4Q974/sAw7NUwUqGQ4rKmHKHHsI63d2Osz6how=; b=sJlgz1mB/yxxZ2wGT LL8GoELDrWbeeuGPbdbPBVm7CyGFdxTUxeQq+QBIvkq0BYBIxj7P6+Yhf6tCJ6kR LstVIDsMMpARR+ADhtb3+n0iZDtcF9AQnqLagOh41JeVdWk8Nptl2f5He7yi+Cnf CQrk1knQLMUoR5+lWJRuA8LVeZe0wNz1hpR/D3/XaxSIT2RgGc14NeTzF5RgoGIh 9dHAMT4BQujcveIUekgNdpJn7lnN5DC+5sPXCXwS02sgKzalOxBatyp8G5ZPrF5t wVZvSUKfzYfBP76KdC9M8VLW8uTOyt4TxAMGsCoT3n4pDQFxe4L0JlGOJdWbLi2s b+qqQ== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeefvddrtddtgddvtdefleelucetufdoteggodetrf dotffvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdggtfgfnhhsuhgsshgtrhhisggv pdfurfetoffkrfgpnffqhgenuceurghilhhouhhtmecufedttdenucenucfjughrpefhvf evufffkffojghfggfgsedtkeertdertddtnecuhfhrohhmpefkrghnucfguhhrvgcuoehi rghnsehrvghtrhhoshhpvggtrdhtvheqnecuggftrfgrthhtvghrnhepveevjeffuddvte eiueetgfeukedvfeeiuedvveelfeeghfduleeftedvgfefgeejnecuvehluhhsthgvrhfu ihiivgeptdenucfrrghrrghmpehmrghilhhfrhhomhepihgrnhesrhgvthhrohhsphgvtg drthhvpdhnsggprhgtphhtthhopedvpdhmohguvgepshhmthhpohhuthdprhgtphhtthho peejjeeiheefseguvggssghughhsrdhgnhhurdhorhhgpdhrtghpthhtohepihgrnhesrh gvthhrohhsphgvtgdrthhv X-ME-Proxy: Feedback-ID: id9014242:Fastmail Received: by mail.messagingengine.com (Postfix) with ESMTPA; Tue, 8 Apr 2025 15:58:35 -0400 (EDT) From: Ian Eure Date: Tue, 8 Apr 2025 12:58:28 -0700 Message-ID: <20250408195830.2084-3-ian@retrospec.tv> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250408195830.2084-1-ian@retrospec.tv> References: <20250408195830.2084-1-ian@retrospec.tv> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: -0.7 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.7 (-) * gnu/packages/wasm.scm (wasm32-wasi-clang): New variable. Change-Id: Ibf1df3e93929442a8eed29eea20b2f83b491f3b3 --- gnu/packages/wasm.scm | 29 ++++++++++++++++++++++++++++- 1 file changed, 28 insertions(+), 1 deletion(-) diff --git a/gnu/packages/wasm.scm b/gnu/packages/wasm.scm index 53ea31f4a7..447687d009 100644 --- a/gnu/packages/wasm.scm +++ b/gnu/packages/wasm.scm @@ -24,7 +24,8 @@ (define-module (gnu packages wasm) #:use-module (guix gexp) #:use-module (guix git-download) #:use-module ((guix licenses) #:prefix license:) - #:use-module (guix packages)) + #:use-module (guix packages) + #:use-module (guix utils)) (define-public wasi-libc (package @@ -106,3 +107,29 @@ (define-public wasm32-wasi-clang-runtime ;; WASM only needs libclang_rt.builtins-wasm32.a from ;; compiler-rt. "../source/compiler-rt/lib/builtins"))))) + +;; Although Clang can be built to support multiple compilation targets, Guix +;; builds only target the native architecture, so we have to build a build a +;; new toolchain that to target WASM. + +(define clang-from-llvm (@@ (gnu packages llvm) clang-from-llvm)) +(define llvm-monorepo (@@ (gnu packages llvm) llvm-monorepo)) + +(define-public wasm32-wasi-clang + (let ((base (clang-from-llvm llvm-16 wasm32-wasi-clang-runtime))) + (package (inherit base) + (name "wasm32-wasi-clang") + (inputs + (modify-inputs (package-inputs base) + (prepend wasi-libc))) + (arguments + (substitute-keyword-arguments (package-arguments base) + ((#:configure-flags flags) + #~(list "-DCLANG_INCLUDE_TESTS=True" + ;; Use a sane default include directory. + (string-append "-DC_INCLUDE_DIRS=" + #$wasi-libc + "/wasm32-wasi/include"))) + ((#:phases phases) + `(modify-phases ,phases + (delete 'symlink-cfi_ignorelist)))))))) -- 2.49.0 From unknown Sun Jun 15 08:49:26 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#77653] [PATCH 4/4] gnu: Add wasm-sandboxed. Resent-From: Ian Eure Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Tue, 08 Apr 2025 19:59:04 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 77653 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 77653@debbugs.gnu.org Cc: Ian Eure Received: via spool by 77653-submit@debbugs.gnu.org id=B77653.17441423321390 (code B ref 77653); Tue, 08 Apr 2025 19:59:04 +0000 Received: (at 77653) by debbugs.gnu.org; 8 Apr 2025 19:58:52 +0000 Received: from localhost ([127.0.0.1]:35621 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1u2F5w-0000ME-7d for submit@debbugs.gnu.org; Tue, 08 Apr 2025 15:58:52 -0400 Received: from fout-a4-smtp.messagingengine.com ([103.168.172.147]:42867) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1u2F5m-0000LE-Ep for 77653@debbugs.gnu.org; Tue, 08 Apr 2025 15:58:42 -0400 Received: from phl-compute-12.internal (phl-compute-12.phl.internal [10.202.2.52]) by mailfout.phl.internal (Postfix) with ESMTP id 348D4138016D; Tue, 8 Apr 2025 15:58:37 -0400 (EDT) Received: from phl-mailfrontend-02 ([10.202.2.163]) by phl-compute-12.internal (MEProxy); Tue, 08 Apr 2025 15:58:37 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=retrospec.tv; h= cc:cc:content-transfer-encoding:content-type:date:date:from:from :in-reply-to:in-reply-to:message-id:mime-version:references :reply-to:subject:subject:to:to; s=fm1; t=1744142317; x= 1744228717; bh=axPxyrcA3IFm2qsUi1txOzWzKJGTYicABlSjwl9psfk=; b=P m66cwuk6efvD/19OdfKprayNgmJVvQ/L81WfFOl6hKbJuZOo0SAW2jJb8pFaP9W0 jnsgMFtCLFQ1tWM3nmb8Jq4SJv1kmTZ+7+70T6eKdxy4+XNiFcyPK4+DChSM2gVD Ruvn5MUNB+sWJcpmKVdytUVtDVg2caOwIdRms3RtaH18WV6uvoKQxnnsrX3ov8UT Z8MVTFtphh8qHbqBI8FMGxy3G2xKBtEFdIqEDx6adG9s1hb+KW//0fuzy9Uj4YUa k49geWEWMaAccgRPg4vYhKxH5s9+cCQhdBoAjojzHP5TYyMLe4NMYmE9ejVOg+Zr ghgonkZR+QqgNJh2HIAxg== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:cc:content-transfer-encoding :content-type:date:date:feedback-id:feedback-id:from:from :in-reply-to:in-reply-to:message-id:mime-version:references :reply-to:subject:subject:to:to:x-me-proxy:x-me-sender :x-me-sender:x-sasl-enc; s=fm2; t=1744142317; x=1744228717; bh=a xPxyrcA3IFm2qsUi1txOzWzKJGTYicABlSjwl9psfk=; b=O/7bQh7Anx35n3or+ 3TqimCaq0KfamSsa5KDKPpTaPSQ65LkJs/2qO6eOAavpSyZQlXaUCO+dwdupHnQQ wF78MewHzdUthtY6S1N3QLJxImvTaquW7Q9a4vig72K9yW0Yx1f4EUepqvOl1vqZ pL5UMKap155cEO6IRxzpVI/bBB9np/LWdzQwNdTrmC5Ohum141XOaYFa+5tyPD6X ykohCjRpVebKJTF4FcJORSWNrrooZTB/yBjghAuJeeAjrox5XjrcQzvpAsgn2/6P aWP82jXgDjFhvn6EfWXHABbLKGlDr47Pp4a1kS5J6YdTV8wqHFvK1j/rDLoYd/Z9 rhq+Q== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeefvddrtddtgddvtdefleelucetufdoteggodetrf dotffvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdggtfgfnhhsuhgsshgtrhhisggv pdfurfetoffkrfgpnffqhgenuceurghilhhouhhtmecufedttdenucenucfjughrpefhvf evufffkffojghfggfgsedtkeertdertddtnecuhfhrohhmpefkrghnucfguhhrvgcuoehi rghnsehrvghtrhhoshhpvggtrdhtvheqnecuggftrfgrthhtvghrnhepveevjeffuddvte eiueetgfeukedvfeeiuedvveelfeeghfduleeftedvgfefgeejnecuvehluhhsthgvrhfu ihiivgeptdenucfrrghrrghmpehmrghilhhfrhhomhepihgrnhesrhgvthhrohhsphgvtg drthhvpdhnsggprhgtphhtthhopedvpdhmohguvgepshhmthhpohhuthdprhgtphhtthho peejjeeiheefseguvggssghughhsrdhgnhhurdhorhhgpdhrtghpthhtohepihgrnhesrh gvthhrohhsphgvtgdrthhv X-ME-Proxy: Feedback-ID: id9014242:Fastmail Received: by mail.messagingengine.com (Postfix) with ESMTPA; Tue, 8 Apr 2025 15:58:36 -0400 (EDT) From: Ian Eure Date: Tue, 8 Apr 2025 12:58:29 -0700 Message-ID: <20250408195830.2084-4-ian@retrospec.tv> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250408195830.2084-1-ian@retrospec.tv> References: <20250408195830.2084-1-ian@retrospec.tv> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: -0.7 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.7 (-) * gnu/packages/gnuzilla.scm (wasm-sandboxed): New variable. Change-Id: I568e6cb9aca43122a06f46fd3a8d9a462754c36a --- gnu/packages/gnuzilla.scm | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/gnu/packages/gnuzilla.scm b/gnu/packages/gnuzilla.scm index f4a912d8d5..32b2d13de5 100644 --- a/gnu/packages/gnuzilla.scm +++ b/gnu/packages/gnuzilla.scm @@ -99,8 +99,38 @@ (define-module (gnu packages gnuzilla) #:use-module (gnu packages xdisorg) #:use-module (gnu packages readline) #:use-module (gnu packages sqlite) + #:use-module (gnu packages wasm) #:autoload (json parser) (json->scm)) +(define-public (wasm-sandboxed orig-package) + "Given a Firefox or Firefox-derived package ORIG-PACKAGE, return a +variant package which enables WASM sandboxing." + (package + (inherit orig-package) + (name (string-append (package-name orig-package) "-wasm-sandboxed")) + (arguments + (substitute-keyword-arguments (package-arguments orig-package) + ((#:configure-flags flags) + #~(let ((wasi-sysroot #$(this-package-native-input "wasm32-wasi-clang-toolchain"))) + (append (delq "--without-wasm-sandboxed-libraries" #$flags) + (list + (string-append "--with-wasi-sysroot=" wasi-sysroot "/wasm32-wasi"))))) + ((#:phases phases) + #~(modify-phases #$phases + (add-before 'configure 'set-wasm-env + (lambda* (#:key inputs #:allow-other-keys) + (setenv "WASM_CC" + (string-append (assoc-ref inputs + "wasm32-wasi-clang-toolchain") + "/bin/clang")) + (setenv "WASM_CXX" + (string-append (assoc-ref inputs + "wasm32-wasi-clang-toolchain") + "/bin/clang++")))))))) + (native-inputs + (modify-inputs (package-native-inputs orig-package) + (append wasm32-wasi-clang-toolchain))))) + (define-public mozjs (package (name "mozjs") -- 2.49.0 From unknown Sun Jun 15 08:49:26 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#77653] [PATCH 1/4] gnu: Add wasi-libc. Resent-From: Z572 Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Wed, 09 Apr 2025 02:56:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 77653 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: Ian Eure Cc: 77653@debbugs.gnu.org Received: via spool by 77653-submit@debbugs.gnu.org id=B77653.17441673158653 (code B ref 77653); Wed, 09 Apr 2025 02:56:02 +0000 Received: (at 77653) by debbugs.gnu.org; 9 Apr 2025 02:55:15 +0000 Received: from localhost ([127.0.0.1]:36446 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1u2Las-0002Eg-L6 for submit@debbugs.gnu.org; Tue, 08 Apr 2025 22:55:15 -0400 Received: from mail.z572.online ([88.99.160.180]:49278) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1u2Lao-0002C6-GN for 77653@debbugs.gnu.org; Tue, 08 Apr 2025 22:55:11 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=z572.online; s=me; t=1744167689; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=ZY84P2SB+KSdtoRDysjiIVoG1X7FtJGDV9K3ID4yTwk=; b=KLNThW1EcoWqhME4rfS39+q04Ps3Uz4DZ2kOn5g1r3HHTUJU7obW91923olbl+9HvvdbNp hW6Q1l+/nPxN3NVLIivMB76zNW5049Fk7a9zum68aAk2sffeo5gKVhkSrYKYDmK9L3S3IK M38RBD4hx97E0/WElycAPrbI6p2hkcA= Received: from m (mail1.85362086.com [107.174.64.25]) by mail.z572.online (OpenSMTPD) with ESMTPSA id f7958cbd (TLSv1.3:TLS_AES_256_GCM_SHA384:256:NO); Wed, 9 Apr 2025 03:01:28 +0000 (UTC) From: Z572 In-Reply-To: <20250408195830.2084-1-ian@retrospec.tv> (Ian Eure's message of "Tue, 8 Apr 2025 12:58:26 -0700") References: <20250408195720.2021-1-ian@retrospec.tv> <20250408195830.2084-1-ian@retrospec.tv> User-Agent: mu4e 1.12.9; emacs 30.0.92 Date: Wed, 09 Apr 2025 10:54:56 +0800 Message-ID: <87ikne3uyn.fsf@z572.online> MIME-Version: 1.0 Content-Type: multipart/signed; boundary="=-=-="; micalg=pgp-sha512; protocol="application/pgp-signature" X-Spam-Score: 0.5 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 0.5 (/) --=-=-= Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Ian Eure writes: > * gnu/packages/wasm.scm (wasi-libc): New variable. > > Change-Id: I1aefc4573424e19119d225904b5461b1bea0221e > --- > gnu/packages/wasm.scm | 78 +++++++++++++++++++++++++++++++++++++++++++ > 1 file changed, 78 insertions(+) > create mode 100644 gnu/packages/wasm.scm > > diff --git a/gnu/packages/wasm.scm b/gnu/packages/wasm.scm > new file mode 100644 > index 0000000000..060e1e420f > --- /dev/null > +++ b/gnu/packages/wasm.scm > @@ -0,0 +1,78 @@ > +;;; GNU Guix --- Functional package management for GNU > +;;; Copyright =C2=A9 2022-2023 Pierre Langlois > +;;; Copyright =C2=A9 2023, 2024, 2025 Ian Eure > +;;; > +;;; This file is part of GNU Guix. > +;;; > +;;; GNU Guix is free software; you can redistribute it and/or modify it > +;;; under the terms of the GNU General Public License as published by > +;;; the Free Software Foundation; either version 3 of the License, or (at > +;;; your option) any later version. > +;;; > +;;; GNU Guix is distributed in the hope that it will be useful, but > +;;; WITHOUT ANY WARRANTY; without even the implied warranty of > +;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the > +;;; GNU General Public License for more details. > +;;; > +;;; You should have received a copy of the GNU General Public License > +;;; along with GNU Guix. If not, see . > + > +(define-module (gnu packages wasm) > + #:use-module (gnu packages llvm) > + #:use-module (guix base32) > + #:use-module (guix build-system gnu) > + #:use-module (guix gexp) > + #:use-module (guix git-download) > + #:use-module ((guix licenses) #:prefix license:) > + #:use-module (guix packages)) > + > +(define-public wasi-libc > + (package > + (name "wasi-libc") > + (version "sdk-20") i think sould "20" > + (source (origin > + (method git-fetch) > + (uri (git-reference > + (url "https://github.com/WebAssembly/wasi-libc") > + (commit (string-append "wasi-" version)) "wasi-sdk-" > + (recursive? #t))) Why do we need recursive > + (file-name (git-file-name name version)) > + (sha256 > + (base32 > + "0knm5ch499dksmv1k0kh7356pjd9n1gjn0p3vp9bw57mn478zp8z"))= )) > + (build-system gnu-build-system) > + (native-inputs (list clang-16)) Please add a comment why clang-16 is needed instead of clang. > + (arguments > + (list #:tests? #f ;No test suite > + ;; Firefox uses wasm2c to compile WebAssembly to C code, and = it > + ;; does not support the memory.copy opcode. > + ;; See https://bugzilla.mozilla.org/show_bug.cgi?id=3D1773200= #c4 > + #:make-flags ''("BULK_MEMORY_SOURCES=3D") #~(list "BULK_MEMORY_SOURCES=3D") > + #:phases > + #~(modify-phases %standard-phases > + (delete 'configure) > + (add-before 'build 'set-sysroot-include > + (lambda _ > + (setenv "C_INCLUDE_PATH" > + (string-append (getcwd) "/sysroot/include")))) > + (add-before 'install 'set-install-dir > + (lambda _ > + (setenv "INSTALL_DIR" > + (string-append #$output "/wasm32-wasi"))))))) > + (home-page "https://wasi.dev") > + (synopsis "WASI libc implementation for WebAssembly") > + (description > + "WASI Libc is a libc for WebAssembly programs built on top of WASI > +system calls. It provides a wide array of POSIX-compatible C APIs, incl= uding > +support for standard I/O, file I/O, filesystem manipulation, memory > +management, time, string, environment variables, program startup, and ma= ny > +other APIs.") > + (license (list > + ;; For wasi-libc, with LLVM exceptions > + license:asl2.0 > + ;; For malloc.c. > + license:cc0 > + ;; For cloudlibc. > + license:bsd-2 > + ;; For wasi-libc and musl-libc. > + license:expat)))) --=-=-= Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQIzBAEBCgAdFiEEfr6klGDOXiwIdX/bO1qpk+Gi3/AFAmf14YAACgkQO1qpk+Gi 3/BrtQ//RQ0epn9G1/gtbFdS96K0cKtZpOFGtR93s3TCRGxfPDD6LkG3U8M7vIQl C+wVg3nuTeFlvc3vmvRoOlYXhiOdm+fqCaH9KgSCGhwosCPtup73Nrr3be8vTe4F meVf79Hmp4sE2Rq6c8kSPBJ9XMYQt66iU9ziD0/D1t3OUomiLY5raEdhQazkJXay KbVn+0aVOvaOKDEv8dcEG53yXVWZ+cqo2kISEGJwRc88y0X01Xlwnehk29ZunALY hyJDOZ7jDThRfiBDoTy44B/DoSe3G2Oo8i4Ux8sxYIPS05BpYGVLeB74SrA9KlhC WB6B//le6rInTOCnRgmpmgO18V3zj5E6VtukvH7di/EkoW8aphOAq5WlMwXYE6o0 GL4GQVkrNcozlAWigBVCZdWcbTtxGAuV39nAQ3ibtWZvL/69kJTZNdpeCW7r89Kl Eivc2Gm3ZWW1W8yzpJNsUpWUuerFINEr1giLP5hR+0Rsk1SnlFtnO/FjhIrm/a3D oT/znnhui5I4+c3xYYImiSYRzFjm4xnmQdRJpoYYbY+FnXGC8HfmLq0LWvmprft5 p3+bFqV+KETD2SSOa6W2u3v/QyRmhh33q/nREKKaIKTfnPIk27/PwKJ7sm2A8N01 mg0GpcZNDZH0LApzDOm/+x1kukFkgwVZ+QrXXWE1xRjAKXi1lUA= =POsD -----END PGP SIGNATURE----- --=-=-=-- From unknown Sun Jun 15 08:49:26 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#77653] [PATCH 2/4] gnu: Add wasm32-wasi-clang-runtime. Resent-From: Z572 Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Wed, 09 Apr 2025 02:59:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 77653 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: Ian Eure Cc: 77653@debbugs.gnu.org Received: via spool by 77653-submit@debbugs.gnu.org id=B77653.17441674969196 (code B ref 77653); Wed, 09 Apr 2025 02:59:02 +0000 Received: (at 77653) by debbugs.gnu.org; 9 Apr 2025 02:58:16 +0000 Received: from localhost ([127.0.0.1]:36454 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1u2Ldn-0002OG-Vf for submit@debbugs.gnu.org; Tue, 08 Apr 2025 22:58:16 -0400 Received: from mail.z572.online ([88.99.160.180]:53942) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1u2Ldl-0002O1-Sg for 77653@debbugs.gnu.org; Tue, 08 Apr 2025 22:58:14 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=z572.online; s=me; t=1744167873; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=TQusyveojqRpKBIivDFuJIzICVGmXKlAXZIquKI9eXY=; b=xXSNWV8RIWkQL7BJpiHYfrnHR2cGGXo8O5dlcSppwWyjAnMgCp4j21AIxbiPUVl7HltwQK 56lIs4b0NMEsTpIlnaVRjWai1XQsHI2UGkbssE77WQf/b8AuHN5RPGggyxPQEBCQq1Goum ruMAzhtNUXcOJI8SbFqHhbEbwrg7+cc= Received: from m (mail1.85362086.com [107.174.64.25]) by mail.z572.online (OpenSMTPD) with ESMTPSA id b4113e8e (TLSv1.3:TLS_AES_256_GCM_SHA384:256:NO); Wed, 9 Apr 2025 03:04:32 +0000 (UTC) From: Z572 In-Reply-To: <20250408195830.2084-2-ian@retrospec.tv> (Ian Eure's message of "Tue, 8 Apr 2025 12:58:27 -0700") References: <20250408195830.2084-1-ian@retrospec.tv> <20250408195830.2084-2-ian@retrospec.tv> User-Agent: mu4e 1.12.9; emacs 30.0.92 Date: Wed, 09 Apr 2025 10:58:05 +0800 Message-ID: <87cydm3ute.fsf@z572.online> MIME-Version: 1.0 Content-Type: multipart/signed; boundary="=-=-="; micalg=pgp-sha512; protocol="application/pgp-signature" X-Spam-Score: 0.5 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 0.5 (/) --=-=-= Content-Type: text/plain Content-Transfer-Encoding: quoted-printable Ian Eure writes: > * gnu/packages/wasm.scm (wasm32-wasi-clang-runtime): New variable. > > Change-Id: Ib0465fdc86086451782d533380a8966cdde6dc1e > --- > gnu/packages/wasm.scm | 30 ++++++++++++++++++++++++++++++ > 1 file changed, 30 insertions(+) > > diff --git a/gnu/packages/wasm.scm b/gnu/packages/wasm.scm > index 060e1e420f..53ea31f4a7 100644 > --- a/gnu/packages/wasm.scm > +++ b/gnu/packages/wasm.scm > @@ -76,3 +76,33 @@ (define-public wasi-libc > license:bsd-2 > ;; For wasi-libc and musl-libc. > license:expat)))) > + > +(define-public wasm32-wasi-clang-runtime > + (package (inherit clang-runtime-16) Please add a line break (package (inherit clang-runtime-16) .... ) =20=20=20 > + (native-inputs > + (list clang-16 > + wasi-libc)) Should wasi-libc be placed in inputs? > + (inputs (list llvm-16)) > + (arguments > + (list > + #:build-type "Release" > + #:tests? #f > + ;; Stripping binaries breaks wasm linking, resulting in the follow= ing > + ;; error: "archive has no index; run ranlib to add one". > + #:strip-binaries? #f > + #:configure-flags > + #~(list "-DCMAKE_C_COMPILER=3Dclang" > + "-DCMAKE_C_COMPILER_TARGET=3Dwasm32-wasi" > + (string-append > + "-DCMAKE_SYSROOT=3D" #$wasi-libc "/wasm32-wasi") (this-package-native-input "wasi-libc") > + (string-append > + "-DCMAKE_C_FLAGS=3D-I " #$wasi-libc "/wasm32-wasi/include= ") (this-package-native-input "wasi-libc") > + > + "-DCOMPILER_RT_OS_DIR=3Dwasi" > + > + "-DCOMPILER_RT_BAREMETAL_BUILD=3DOn" > + "-DCOMPILER_RT_DEFAULT_TARGET_ONLY=3DOn" > + > + ;; WASM only needs libclang_rt.builtins-wasm32.a from > + ;; compiler-rt. > + "../source/compiler-rt/lib/builtins"))))) --=-=-= Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQIzBAEBCgAdFiEEfr6klGDOXiwIdX/bO1qpk+Gi3/AFAmf14j0ACgkQO1qpk+Gi 3/DUZw/+P/Z02gu5ywyvtMNPrl8w1nLVhtYrMFdth0ICsRDL4Yns691/4nDSMYrr XXylnDIzbbSD3y7j84+KL+FT0+O1Nle4Jn83t52Rrc9SY5MN9MfY6BSxdRq876Dp icHP2fhZj3y+tovHmqR+5iMfFy92q6+QqAJRE7APmiKBZ2YsAHV7QNGpdLXRixt7 IijkFCBt3hJ0vrvSrOEF4A5wkJzSgG75+FTB7VETxnz5eE0p7WD+zz71bdoOF4fA XW5tC95qUGpKtcQV/CkbLkuda+sgmTxSPqCnk9Pl+fZlhJ1tMQb/kmnOFFec2qXg RMjAu4AjHOYGb6U5B4lNjXGlpCaZRCFcXE+sde3SaohCASc0c0bRF4opUChfj1mT BeCfWqopN762hUmrS9xg6uQiG2G08rymgkOFAfU09xNKSt+Lc6ceUwRJm/syydfL TQx631bXRjAhh4g9PFpDoBFfCn5PDFV4A6HXHXeXq1iCpibL1XoYh85gw9BYt03E HXtqVNHQbiB8K56yW6Ryfct+YTNR9ROoT3bGXq/Di708Xx0ak8QB8kt93bv+n1l4 grW1ZZBM3qxEYmFTI3Y8/ZDX/J7hV+U8Uy2TzNmQfqUmu195rhs+XDQJw6FWcESX 0YLw+Iq+N0yrCpTSbLM4KxEKmwzy0VatkwO39+CEzp7FFG/zsCs= =bJzP -----END PGP SIGNATURE----- --=-=-=-- From unknown Sun Jun 15 08:49:26 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#77653] [PATCH 3/4] gnu: Add wasm32-wasi-clang. Resent-From: Z572 Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Wed, 09 Apr 2025 03:02:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 77653 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: Ian Eure Cc: 77653@debbugs.gnu.org Received: via spool by 77653-submit@debbugs.gnu.org id=B77653.174416768610051 (code B ref 77653); Wed, 09 Apr 2025 03:02:02 +0000 Received: (at 77653) by debbugs.gnu.org; 9 Apr 2025 03:01:26 +0000 Received: from localhost ([127.0.0.1]:36464 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1u2Lgs-0002c3-1S for submit@debbugs.gnu.org; Tue, 08 Apr 2025 23:01:26 -0400 Received: from mail.z572.online ([88.99.160.180]:45056) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1u2Lgp-0002bt-AY for 77653@debbugs.gnu.org; Tue, 08 Apr 2025 23:01:24 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=z572.online; s=me; t=1744168063; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=5sf6cYqA99AClJbAiJtMlVo+oc7CLMP2hKC5g3B1rSE=; b=M7ugmT+4q7pc0IsRdRnVzvIASZ/FpL1KpDqkhidn9bdk537KS0wg6V9C9q3EmiS6KFjoL/ QF8uxaGmFHkeLsFcIsjm3UwqzIZsPGurYF8McTuRklxYh8mxfto4lUJie++nlU0Tpo0uKF eZ1GfKF/plXwiMXpZDcExVkQapnEHdI= Received: from m (mail1.85362086.com [107.174.64.25]) by mail.z572.online (OpenSMTPD) with ESMTPSA id 948e646b (TLSv1.3:TLS_AES_256_GCM_SHA384:256:NO); Wed, 9 Apr 2025 03:07:42 +0000 (UTC) From: Z572 In-Reply-To: <20250408195830.2084-3-ian@retrospec.tv> (Ian Eure's message of "Tue, 8 Apr 2025 12:58:28 -0700") References: <20250408195830.2084-1-ian@retrospec.tv> <20250408195830.2084-3-ian@retrospec.tv> User-Agent: mu4e 1.12.9; emacs 30.0.92 Date: Wed, 09 Apr 2025 11:01:14 +0800 Message-ID: <877c3u3uo5.fsf@z572.online> MIME-Version: 1.0 Content-Type: multipart/signed; boundary="=-=-="; micalg=pgp-sha512; protocol="application/pgp-signature" X-Spam-Score: 0.5 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 0.5 (/) --=-=-= Content-Type: text/plain Content-Transfer-Encoding: quoted-printable Ian Eure writes: > * gnu/packages/wasm.scm (wasm32-wasi-clang): New variable. > > Change-Id: Ibf1df3e93929442a8eed29eea20b2f83b491f3b3 > --- > gnu/packages/wasm.scm | 29 ++++++++++++++++++++++++++++- > 1 file changed, 28 insertions(+), 1 deletion(-) > > diff --git a/gnu/packages/wasm.scm b/gnu/packages/wasm.scm > index 53ea31f4a7..447687d009 100644 > --- a/gnu/packages/wasm.scm > +++ b/gnu/packages/wasm.scm > @@ -24,7 +24,8 @@ (define-module (gnu packages wasm) > #:use-module (guix gexp) > #:use-module (guix git-download) > #:use-module ((guix licenses) #:prefix license:) > - #:use-module (guix packages)) > + #:use-module (guix packages) > + #:use-module (guix utils)) >=20=20 > (define-public wasi-libc > (package > @@ -106,3 +107,29 @@ (define-public wasm32-wasi-clang-runtime > ;; WASM only needs libclang_rt.builtins-wasm32.a from > ;; compiler-rt. > "../source/compiler-rt/lib/builtins"))))) > + > +;; Although Clang can be built to support multiple compilation targets, = Guix > +;; builds only target the native architecture, so we have to build a bui= ld a > +;; new toolchain that to target WASM. > + > +(define clang-from-llvm (@@ (gnu packages llvm) clang-from-llvm)) > +(define llvm-monorepo (@@ (gnu packages llvm) llvm-monorepo)) Will this have any impact on the compilation? Maybe we should export clang-from-llvm and llvm-monorepo from (gnu packages= llvm) > + > +(define-public wasm32-wasi-clang > + (let ((base (clang-from-llvm llvm-16 wasm32-wasi-clang-runtime))) > + (package (inherit base) > + (name "wasm32-wasi-clang") > + (inputs > + (modify-inputs (package-inputs base) > + (prepend wasi-libc))) > + (arguments > + (substitute-keyword-arguments (package-arguments base) > + ((#:configure-flags flags) > + #~(list "-DCLANG_INCLUDE_TESTS=3DTrue" > + ;; Use a sane default include directory. > + (string-append "-DC_INCLUDE_DIRS=3D" > + #$wasi-libc (this-package-input "wasi-libc") > + "/wasm32-wasi/include"))) > + ((#:phases phases) > + `(modify-phases ,phases > + (delete 'symlink-cfi_ignorelist)))))))) Please add a comment why symlink-cfi_ignorelist should be deleted --=-=-= Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQIzBAEBCgAdFiEEfr6klGDOXiwIdX/bO1qpk+Gi3/AFAmf14voACgkQO1qpk+Gi 3/BM/g/6AjKz8qOAdZBUJRKxj3IafrbPj8jkrFJLCwMDSKl9GwfqDyPxrihk+VWn 1ryqThxbPCsSPPDtf6oW0L3uboPrvmr9tbwBXiKQFykXk2fJ+lY+HMKJYSGyw+4W PhsS5T0kOXT2YvDxTCIvpfzpFEoYrXYCAbP52DoKDTMzqtQ0NXqw0O02Cxys9RE2 ZAmwScmjdE484so9lSwDha/J+bljABHci2WApPETERrFCWzd5IDwRnz2OPo4Ol28 cmuw4g+EPa5C2IpsM8WxMogn4hS4VbvQYNL/oijbjMuxzXRbsIgDXwIQhHn5EkOX EH24w2a9ij1jleWoe3kMYd61m2xgMQr/1CXqDxZZ3muTJtQmOAuWhg6x3neZanaO y3eukNCkqrpkiQm+f5rY6ny7CTJhIAmEx2t4Ld7gBlv1RXub4TyplNsQiRiY78Ae 6p6LPpeTEBH8cpoy/6mvKGjTCGMkf9waOwCB7YXhXizBFAHi0OuxdFK8VtXwGszf Q3WZxmnb+ljXN8w23Qbfj2aD/Fn8dKOC9brQwa/ZkyDR5xr42DNh6Cl/sFIDo8Gn dBMECOrBY2JjknyQ9v4i1XzII4/vaE8PvN/EpDLogbO6qRE0+c2kpABXdohecDL+ TEhBFE/PlU2oilsjaicRfPkGTwJvnF3dilOqM9c0gQKhC5Q8OCk= =UBnS -----END PGP SIGNATURE----- --=-=-=-- From unknown Sun Jun 15 08:49:26 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#77653] [PATCH 2/4] gnu: Add wasm32-wasi-clang-runtime. References: <20250408195720.2021-1-ian@retrospec.tv> In-Reply-To: <20250408195720.2021-1-ian@retrospec.tv> Resent-From: Ian Eure Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Wed, 09 Apr 2025 22:09:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 77653 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: Z572 Cc: 77653@debbugs.gnu.org Received: via spool by 77653-submit@debbugs.gnu.org id=B77653.174423650715305 (code B ref 77653); Wed, 09 Apr 2025 22:09:02 +0000 Received: (at 77653) by debbugs.gnu.org; 9 Apr 2025 22:08:27 +0000 Received: from localhost ([127.0.0.1]:42611 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1u2das-0003yn-Sc for submit@debbugs.gnu.org; Wed, 09 Apr 2025 18:08:27 -0400 Received: from fhigh-b2-smtp.messagingengine.com ([202.12.124.153]:34305) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1u2dap-0003yQ-IE for 77653@debbugs.gnu.org; Wed, 09 Apr 2025 18:08:25 -0400 Received: from phl-compute-08.internal (phl-compute-08.phl.internal [10.202.2.48]) by mailfhigh.stl.internal (Postfix) with ESMTP id 7DAA525401B1; Wed, 9 Apr 2025 18:08:17 -0400 (EDT) Received: from phl-mailfrontend-01 ([10.202.2.162]) by phl-compute-08.internal (MEProxy); Wed, 09 Apr 2025 18:08:17 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=retrospec.tv; h= cc:cc:content-transfer-encoding:content-type:content-type:date :date:from:from:in-reply-to:message-id:mime-version:reply-to :subject:subject:to:to; s=fm1; t=1744236497; x=1744322897; bh=HA 7lmNgV1c7EbDt1RAsYAof+W2D94bKEMrjwYlcXT+c=; b=mY0aHRm1KnxEX8J9rh rILdKrI9i88El3W1QtkgNKe0Wopd+O/0Y+kBsKCJnpt3HxAgRtJof/XzYCxAKYYR F34AThTa9sF/OsMUvI7utRfM9fK4p41M3fZ+EXAzcbrzzlkcCnJysq1NLMGz1T3p TYfhvOdzLTljWvXmaW4Cg5RSEERUgvt304+JcTLJHvx4LNTPV0sElrz4caPGRgKK DJtNtoKW0CebCPpYTQSY8YyJZKKqKBD5gLwodAuWGwpeq2WdY4cvfeGm04zcHam8 3yPI7XKOcg6HWP9fClRmMG15pXoboyhf3g9DKm4RvFmWQXQ6H5Zsi0H7UvMT1WqG kDBg== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:cc:content-transfer-encoding :content-type:content-type:date:date:feedback-id:feedback-id :from:from:in-reply-to:message-id:mime-version:reply-to:subject :subject:to:to:x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s= fm2; t=1744236497; x=1744322897; bh=HA7lmNgV1c7EbDt1RAsYAof+W2D9 4bKEMrjwYlcXT+c=; b=IAqZ+mtlyC0a/V0q4ghcCiptlKZ+In9x3+aT1NQdY/Ib kXOc9jHJRV/RlV+FMGr+794t+7gPJHdfqjGcNkGVxv6yTATk03ZqGoFaw6xPMsDs g4UBPi2Q1HIFFQwpZCCMYKrNrwX3dg+NkpGCYC5FVS4gNgUw1ijvFvcdihdVrd7X sdkrlThbhJdY0DIDZe/7aq1chHJH6rYoOAFGr/0WIZN/4POAxdQrXJi19+mYeAjB TzW6BVyfTZv+uDpsaiNO5zegFZvW3I//v8eirJsaP8A/vVyIq3ksmHg51Pyh3GWl 8gw0lKSq7dBpSO1/0M2noac8r00HCHLxQqfb8WC8bw== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeefvddrtddtgddvtdejudeiucetufdoteggodetrf dotffvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdggtfgfnhhsuhgsshgtrhhisggv pdfurfetoffkrfgpnffqhgenuceurghilhhouhhtmecufedttdenucenucfjughrpefhvf evufgffffkgggtgfesthhqredttderjeenucfhrhhomhepkfgrnhcugfhurhgvuceoihgr nhesrhgvthhrohhsphgvtgdrthhvqeenucggtffrrghtthgvrhhnpedtteekfffffeeihf eukedvieeugeeigefftdfhleevlefgtddvhfdtudehffeuvdenucevlhhushhtvghrufhi iigvpedtnecurfgrrhgrmhepmhgrihhlfhhrohhmpehirghnsehrvghtrhhoshhpvggtrd htvhdpnhgspghrtghpthhtohepvddpmhhouggvpehsmhhtphhouhhtpdhrtghpthhtohep jeejieehfeesuggvsggsuhhgshdrghhnuhdrohhrghdprhgtphhtthhopeiiheejvdesii ehjedvrdhonhhlihhnvg X-ME-Proxy: Feedback-ID: id9014242:Fastmail Received: by mail.messagingengine.com (Postfix) with ESMTPA; Wed, 9 Apr 2025 18:08:15 -0400 (EDT) From: Ian Eure User-Agent: mu4e 1.12.9; emacs 29.4 Date: Wed, 09 Apr 2025 15:08:12 -0700 Message-ID: <87semh3s4z.fsf@retrospec.tv> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: quoted-printable X-Spam-Score: -0.7 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.7 (-) Z572 writes: > Ian Eure writes: > >> + (native-inputs >> + (list clang-16 >> + wasi-libc)) > > Should wasi-libc be placed in inputs? Good question. I think it can be, since it=E2=80=99s WASM bytecode. My=20 only concern is that it might contain an arch-specific store=20 reference, but I dug around in the output and didn=E2=80=99t see anything.= =20 So I think this should be fine, but I=E2=80=99ll do a little testing. All your other suggestions look good, I=E2=80=99ll give this a whirl and=20 send a v2. Thanks, -- Ian From unknown Sun Jun 15 08:49:26 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#77653] [PATCH 1/4] gnu: Add wasi-libc. Resent-From: Maxim Cournoyer Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Fri, 25 Apr 2025 08:03:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 77653 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: Ian Eure Cc: 77653@debbugs.gnu.org Received: via spool by 77653-submit@debbugs.gnu.org id=B77653.17455681519329 (code B ref 77653); Fri, 25 Apr 2025 08:03:02 +0000 Received: (at 77653) by debbugs.gnu.org; 25 Apr 2025 08:02:31 +0000 Received: from localhost ([127.0.0.1]:46743 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1u8E11-0002QO-1l for submit@debbugs.gnu.org; Fri, 25 Apr 2025 04:02:31 -0400 Received: from mail-pf1-x430.google.com ([2607:f8b0:4864:20::430]:60431) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.84_2) (envelope-from ) id 1u8E0v-0002Q2-LC for 77653@debbugs.gnu.org; Fri, 25 Apr 2025 04:02:28 -0400 Received: by mail-pf1-x430.google.com with SMTP id d2e1a72fcca58-736aaeed234so1689417b3a.0 for <77653@debbugs.gnu.org>; Fri, 25 Apr 2025 01:02:25 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1745568138; x=1746172938; darn=debbugs.gnu.org; h=mime-version:user-agent:message-id:date:references:in-reply-to :subject:cc:to:from:from:to:cc:subject:date:message-id:reply-to; bh=gtvMGxsVQfEZfJ7y/BJ9uh7E+lpSjBD3C6GvLM+l/WE=; b=GKTwU4BtiUZKZM+JpHxn/gBjSOUjmRBlTKOCynTQzsDJYV3SDdoRaEQaoT+42248po xeigaYmvZHq0eeIt4tQaJ5SBtREQozxhIobutckOS6EFoLQXFaAyAjn3Fe15IQ+EZlJ8 XRymLaCbvDMST9krBJuY2OXCJOAAOEu2ePp+DT0U+dsRFO2S/jCKqZxypccqn4A9gMkd jrUfFxW7ARTUmoJzzgPbZ7YpClaIcYLJ3TFuWKgagYpehhKY2KY9JuftHORIa/C5kzEz mIlniAkt1iYN9zzpwyCyLLARK9pi/Dg5rtw0oqsp5+Or9Kn7CWtTo5A0EQ8pj2uz2z9A /Ztw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1745568138; x=1746172938; h=mime-version:user-agent:message-id:date:references:in-reply-to :subject:cc:to:from:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=gtvMGxsVQfEZfJ7y/BJ9uh7E+lpSjBD3C6GvLM+l/WE=; b=sMFnxlLwjwRl1KFaUsUGiSlYcMpRQs95al//m9Mx7XWKR9I8psNFtw7S+LCYhLnKs+ T1c3Ci557pAmLduCn+DKbpoUd+zYJTTFjB7qHy+nZ1qpfH0zXIVRUdnpk64tS9IJSaJ4 uMjinIKMMTlZklWP8a9gcLcfj842v940WZKCnXhn7z9qZASZavnKipilkR0ZGE/rhtTV 1YuzJe/Cm3ceWM4UOSu5sk0tEKHof0rRyU459uBOKakyZK6Xl3ZMIoZCllVl3suJ/Ues LDmSVIt1ObeIAiK9/0K99GXC9f7GnVHVxmrsiHAb4eYzygTdj0eRJ/snsaGtoeAybf2D nK0Q== X-Gm-Message-State: AOJu0YznESNhTYdPf2lVecMfuZUIVYe2NgDyOyjrk2Y4AdkfH+U3f7aN XjnGlk6h0TOoYKkYsiCTOlB8alOBG7BU3thmr6Vv46mruCu9N1cvw9AuAw== X-Gm-Gg: ASbGncs0WpQiWSWq8ejmihDFHlSmtTX0lej5M02T7cyslq1gkZ0O0S9chGU2Qk/Ibug +ijaI6Q8h2NVxbJevwiQbqKH3Lj5EnpYsfPvqCRxSPgaBtfjtvkUNmbbhKCKHvMuig2qAso5gnv cw3qqXt0Slk28PlIhOBEjgs3ZRnJuWTVKa2EWBk2lAt8uAKcbbU0Oqq/sNOLY4velezK2acsZBV lqGJ8lWYfEz0z/2fqldqbLRLMYbe2S8K3hzr2v0+Qe0ZZHu5cito1cDbrbKGp1Bz14JT8VxKxhp lt+aadt7RRPjA3HPN1ay4XJr3mbSns0uuBVDKtU= X-Google-Smtp-Source: AGHT+IES5/vRt7o0sN6PKAddwkNJX7cfA//LYVyR2ypMl0MO5gap9UiLs17ThZtb8stlUCzHD94Jyg== X-Received: by 2002:a05:6a21:101b:b0:1f5:60fb:8d9 with SMTP id adf61e73a8af0-2045b985641mr1776429637.33.1745568138335; Fri, 25 Apr 2025 01:02:18 -0700 (PDT) Received: from terra ([2405:6586:be0:0:83c8:d31d:2cec:f542]) by smtp.gmail.com with ESMTPSA id 41be03b00d2f7-b15f76f582csm2379615a12.4.2025.04.25.01.02.16 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 25 Apr 2025 01:02:17 -0700 (PDT) From: Maxim Cournoyer In-Reply-To: <20250408195830.2084-1-ian@retrospec.tv> (Ian Eure's message of "Tue, 8 Apr 2025 12:58:26 -0700") References: <20250408195720.2021-1-ian@retrospec.tv> <20250408195830.2084-1-ian@retrospec.tv> Date: Fri, 25 Apr 2025 17:02:15 +0900 Message-ID: <87plh0r7nc.fsf@gmail.com> User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: 0.0 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Hello, Ian Eure writes: > * gnu/packages/wasm.scm (wasi-libc): New variable. [...] > +(define-public wasi-libc > + (package > + (name "wasi-libc") > + (version "sdk-20") That's an odd version string. Should we strip 'sdk-' and keep just '20'? > + (source (origin > + (method git-fetch) > + (uri (git-reference > + (url "https://github.com/WebAssembly/wasi-libc") > + (commit (string-append "wasi-" version)) > + (recursive? #t))) The reason for using recursive? #t should be explained in a comment. Typically these pull other package sources, which as a policy we'd rather package separately. > + (file-name (git-file-name name version)) > + (sha256 > + (base32 > + "0knm5ch499dksmv1k0kh7356pjd9n1gjn0p3vp9bw57mn478zp8z")))) > + (build-system gnu-build-system) > + (native-inputs (list clang-16)) > + (arguments > + (list #:tests? #f ;No test suite nitpick: no need to punctuate margin comments (standalone comments, yes). > + ;; Firefox uses wasm2c to compile WebAssembly to C code, and it > + ;; does not support the memory.copy opcode. > + ;; See https://bugzilla.mozilla.org/show_bug.cgi?id=1773200#c4 > + #:make-flags ''("BULK_MEMORY_SOURCES=") > + #:phases > + #~(modify-phases %standard-phases > + (delete 'configure) > + (add-before 'build 'set-sysroot-include > + (lambda _ > + (setenv "C_INCLUDE_PATH" > + (string-append (getcwd) "/sysroot/include")))) > + (add-before 'install 'set-install-dir > + (lambda _ > + (setenv "INSTALL_DIR" > + (string-append #$output "/wasm32-wasi"))))))) That's a strange (non-FHSish) place to put the result, no? Should in go to /lib/wasm32-wasi, perhaps? > + (home-page "https://wasi.dev") > + (synopsis "WASI libc implementation for WebAssembly") > + (description > + "WASI Libc is a libc for WebAssembly programs built on top of WASI > +system calls. It provides a wide array of POSIX-compatible C APIs, including > +support for standard I/O, file I/O, filesystem manipulation, memory > +management, time, string, environment variables, program startup, and many > +other APIs.") Please use 'file system' instead of filesystem, as a GNU convention. -- Thanks, Maxim From unknown Sun Jun 15 08:49:26 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#77653] [PATCH 2/4] gnu: Add wasm32-wasi-clang-runtime. Resent-From: Maxim Cournoyer Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Fri, 25 Apr 2025 08:07:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 77653 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: Ian Eure Cc: 77653@debbugs.gnu.org Received: via spool by 77653-submit@debbugs.gnu.org id=B77653.174556836510796 (code B ref 77653); Fri, 25 Apr 2025 08:07:02 +0000 Received: (at 77653) by debbugs.gnu.org; 25 Apr 2025 08:06:05 +0000 Received: from localhost ([127.0.0.1]:46783 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1u8E4S-0002o4-Ps for submit@debbugs.gnu.org; Fri, 25 Apr 2025 04:06:05 -0400 Received: from mail-pf1-x42c.google.com ([2607:f8b0:4864:20::42c]:42190) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.84_2) (envelope-from ) id 1u8E4Q-0002nS-SO for 77653@debbugs.gnu.org; Fri, 25 Apr 2025 04:06:03 -0400 Received: by mail-pf1-x42c.google.com with SMTP id d2e1a72fcca58-7399838db7fso2054312b3a.0 for <77653@debbugs.gnu.org>; Fri, 25 Apr 2025 01:06:02 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1745568356; x=1746173156; darn=debbugs.gnu.org; h=mime-version:user-agent:message-id:date:references:in-reply-to :subject:cc:to:from:from:to:cc:subject:date:message-id:reply-to; bh=OsafckA/4xjnoQSpJwPkPTWI5TIlajroV2Xf89DZBd4=; b=cEc3Xass4E05dcXnvTtIk4vAeI3cbNKW/UDSBd4SkFjj6I9etGvq4vILtbfbt8fi7q KkOdFtg2E7V6lMRYQYgjXjD13nbzynxWUEZmb8YNrFIyWxJtWKgGm3MJRLSzHmhXbNK+ LPA7+7o8fkQ+c9YfdpR7UKL+3IdHw11ih4WflTUEeDNB9MyIF0vE1/EQuzcmPC51lh5J STJeb8ZZppltPRQSC1L91v/i3/E2zs+NRpAgz7zbeOLh4MI30oqaFMJ/7/LKwuQ7FiIq 1Hmgfh7HIl/B3R4xG1YmIPrRmQwkADizJPaX/1nm/NFEEb2dHyrugDjL+e6F4fT6dXGS wtXw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1745568356; x=1746173156; h=mime-version:user-agent:message-id:date:references:in-reply-to :subject:cc:to:from:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=OsafckA/4xjnoQSpJwPkPTWI5TIlajroV2Xf89DZBd4=; b=fyt2TfKWJuHnVPL1TpxmuDhOH/+7s3FUmsJfk3nPCwOVq25xTLNqfwo6eACalTZ4Xg morKxK6iLD6QojbTBlQLMcuu5d+gGxsGaEF3kv4KDOYkEidm5aSEUiEZYFCt05YTKaIi G6og210wF0WMO31Q9nrIYQbyVKPLSrUupeX4eSPcs9qfS2Id2yT/bnVjM+k4QOSg/h5M +UjMLXE5YLu0VER6z5pMqwtP1RpFKKCCTBTvYWHhOkqyJWOfqM+rPE5Xg46epsVj9ccB NCUBqA7AfjEfkp9G+TND34nqTTezENoMSWCkCsrWqO71MkFwdEcP0A0+kQYdgETg7BPy /KkQ== X-Gm-Message-State: AOJu0YzMH0vfq9hkyOIqTJAZ3QJ9u89VWsdfgYW0HAXjByhUVTo4DBbK E/APwjhJsWNop2fYjWENdLGUNYUN181exAdUyaQBsfcouvFj9NyyQmNbkQ== X-Gm-Gg: ASbGncsDHRhUEx5FJATCbIzb2M4SohFB4W6F2IBxmXXvKnhlqd7cYyFqvi3YVnramzc jPXre/U7OBGe/4ZsUtDQFZxArsbU4WxcC/j3kH7rne7yFIs220C1ZOo57dMoOLH98EXP354DZS+ /PPZxwuYj/nliBgdVk7xxq8nGDthgp7GyP/shjySSogznbGO7FtsegmqbtQhVeOob+dbsveK0S7 wX/AM/a4GCzibdRQ7FEb2KEB6IBkclJlA/pxRbm4g3DkqPi/PA3rWaP6g2BgdSNAvmTX5LGDM4W 0yNuWHv8kj8U7CGrlqA66dgxPTnTbbYwZdLRBio= X-Google-Smtp-Source: AGHT+IE1gcYn5tCfEE9Y1y+ZQkuIzlvj33nSC5unU1LPP7F9NiGkioEFF6ynkVh50yL+7UFjPRnAVg== X-Received: by 2002:a05:6a00:a02:b0:736:9f2e:1357 with SMTP id d2e1a72fcca58-73fd7db4adamr1910955b3a.12.1745568355987; Fri, 25 Apr 2025 01:05:55 -0700 (PDT) Received: from terra ([2405:6586:be0:0:83c8:d31d:2cec:f542]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-73e25a6aa52sm2688329b3a.94.2025.04.25.01.05.54 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 25 Apr 2025 01:05:55 -0700 (PDT) From: Maxim Cournoyer In-Reply-To: <20250408195830.2084-2-ian@retrospec.tv> (Ian Eure's message of "Tue, 8 Apr 2025 12:58:27 -0700") References: <20250408195830.2084-1-ian@retrospec.tv> <20250408195830.2084-2-ian@retrospec.tv> Date: Fri, 25 Apr 2025 17:05:52 +0900 Message-ID: <87ldror7hb.fsf@gmail.com> User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: 0.0 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Hi, Ian Eure writes: > * gnu/packages/wasm.scm (wasm32-wasi-clang-runtime): New variable. [...] > +(define-public wasm32-wasi-clang-runtime > + (package (inherit clang-runtime-16) This reminds me that this should be documented, but when creating variants (packages issued from the same source but with different build flags, say), you must use package/inherit for the grafts machinery to work correctly. > + (native-inputs > + (list clang-16 > + wasi-libc)) I'd format these on one line, like you did below, since there are less than 5 and it fits. > + (inputs (list llvm-16)) > + (arguments > + (list > + #:build-type "Release" > + #:tests? #f Need an explanatory comment, e.g.: ;no test suite > + ;; Stripping binaries breaks wasm linking, resulting in the following > + ;; error: "archive has no index; run ranlib to add one". > + #:strip-binaries? #f > + #:configure-flags > + #~(list "-DCMAKE_C_COMPILER=clang" > + "-DCMAKE_C_COMPILER_TARGET=wasm32-wasi" > + (string-append > + "-DCMAKE_SYSROOT=" #$wasi-libc "/wasm32-wasi") > + (string-append > + "-DCMAKE_C_FLAGS=-I " #$wasi-libc "/wasm32-wasi/include") As Z572 mentioned, this shouldn't reference the packages directly, to be input-rewrite friendly. -- Thanks, Maxim From unknown Sun Jun 15 08:49:26 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#77653] [PATCH 2/4] gnu: Add wasm32-wasi-clang-runtime. Resent-From: Maxim Cournoyer Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Fri, 25 Apr 2025 08:10:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 77653 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: Ian Eure Cc: 77653@debbugs.gnu.org Received: via spool by 77653-submit@debbugs.gnu.org id=B77653.174556859611611 (code B ref 77653); Fri, 25 Apr 2025 08:10:02 +0000 Received: (at 77653) by debbugs.gnu.org; 25 Apr 2025 08:09:56 +0000 Received: from localhost ([127.0.0.1]:46802 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1u8E8B-00031C-W4 for submit@debbugs.gnu.org; Fri, 25 Apr 2025 04:09:56 -0400 Received: from mail-pg1-x52a.google.com ([2607:f8b0:4864:20::52a]:56423) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.84_2) (envelope-from ) id 1u8E87-00030E-TI for 77653@debbugs.gnu.org; Fri, 25 Apr 2025 04:09:53 -0400 Received: by mail-pg1-x52a.google.com with SMTP id 41be03b00d2f7-af51596da56so1488094a12.0 for <77653@debbugs.gnu.org>; Fri, 25 Apr 2025 01:09:51 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1745568585; x=1746173385; darn=debbugs.gnu.org; h=mime-version:user-agent:message-id:date:references:in-reply-to :subject:cc:to:from:from:to:cc:subject:date:message-id:reply-to; bh=XS1ZMHnhJzdmwvTD1+2C7dKVEC/kZ4CCMVfdJ/Diw9I=; b=Gkb+Ht4L4VmwpUbiethQkuUrAcGUjOocJMybnvy13RwPOI4JWeiOnSzG2Q+7FS+lRE 0Xpsz2ieoFlw/aGOqPskXjoyQweX7T63KHxGqemgJPrTv9hTd9Up20lL5USJTPCd5j/m Jw8UeS4HYdadjAcMy99HM0FjySrwi/cGgOISfD/hB3JHJOqIfqXgmTZFpVjGoldfdVv/ nnjvK6aFG8cI2P1HajSQW4NWjpXsD8EQFXblDLMgTXQr/nWg7mFOZfVI0gq65vUjachk cJMOOAgBP1vjFbUp0k2dX9RY8dBK2uVe48UkqB+EidYy282ISayF6LnCQUrtftbeRj6S u/3g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1745568585; x=1746173385; h=mime-version:user-agent:message-id:date:references:in-reply-to :subject:cc:to:from:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=XS1ZMHnhJzdmwvTD1+2C7dKVEC/kZ4CCMVfdJ/Diw9I=; b=m99iOc/F825ImaZq6RMcjmsOJE+si/DjK9d0773j28WD5bmXQ52+ey0ErAhg43TOuH /cadIK356CuqJ+3vTUOlu5Jf+NnSZKV7I1sLyVL480K6/rwsl/wPBVFbB8txi/LnS6BV iwsBCW4vqROTliHSoijHDuOjJt6NxhvMvPBIHS1ATXhQ9sLUbJ9juTGShMApOw6QqxD6 Bcvn2p0eYuq7MmohOVish6QXqyj+0pXyvavB2HUOrJmdpoMx5pgahGtCpYla7XzidVvA a0U/OsJ2PfPe9qvSw7AAB9cxqUkCAneIrzZ0gdMFdmOoCXzJuYnzzlXBDQW3QD+bnc6M TV7w== X-Gm-Message-State: AOJu0YwgdFT4yH00v867nALly3YwsKXDqb7C7aUkaqDJ4yujbUIQeFJf mLWI6jv4uFL8KpxGzLwCvlpDGuYKQnF/q/uMR/+AI+fRlAgKI5oZz7x/4w== X-Gm-Gg: ASbGncvq0a6Q7MlK1KFgfohGUP5KJr4PRxprAbKz/35Nddo3TWMKudDzo6r98x5gn0W WrpsqEUSsXsLIDy1c2f6jMIrAu8e36BRfXcjuzsY5szUNZwjCbZAsQYPVaWHgE1njKHxxlHxMpd NKcwEuFeYtevTOVTp0Rflb2H4sYG17iU6O5zvSm/T8BjxZ7v2UbUKZGtA5avoQW2kJ3JWJaeuvl lONr382JD2MX9sZ7hnbacPSI/IDbBigffuDK2Jkpv17qnie+gpuFp3nIWCMdoZ8M0Kmt3tc4Q+f xjJ8LPS9Pid9Ycv0lFyq0KjhEvp7TxznKcfsh0Q= X-Google-Smtp-Source: AGHT+IHWru8BipfIVZNNAVRS4LyIiziCON12uB+JApZsADlEiiH+W4WxK0/XU/jFbMkdOiXtBO+Q4A== X-Received: by 2002:a17:90b:4d04:b0:2ee:c2b5:97a0 with SMTP id 98e67ed59e1d1-309f7e60775mr2320491a91.25.1745568585242; Fri, 25 Apr 2025 01:09:45 -0700 (PDT) Received: from terra ([2405:6586:be0:0:83c8:d31d:2cec:f542]) by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-309ef14a3b2sm2802916a91.48.2025.04.25.01.09.43 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 25 Apr 2025 01:09:44 -0700 (PDT) From: Maxim Cournoyer In-Reply-To: <20250408195830.2084-2-ian@retrospec.tv> (Ian Eure's message of "Tue, 8 Apr 2025 12:58:27 -0700") References: <20250408195830.2084-1-ian@retrospec.tv> <20250408195830.2084-2-ian@retrospec.tv> Date: Fri, 25 Apr 2025 17:09:42 +0900 Message-ID: <87ecxgr7ax.fsf@gmail.com> User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: 0.0 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Hi, Ian Eure writes: [...] > +(define-public wasm32-wasi-clang-runtime > + (package (inherit clang-runtime-16) I forgot the most important bit: inheritance cannot happen between different modules, as it uses direct (non-delayed nor thunked) references to the package objects and would introduce module circular dependencies, which are surprising and not fun to hunt down. See (info "(guix) Cyclic Module Dependencies") for the explanation/guidelines. -- Thanks, Maxim From unknown Sun Jun 15 08:49:26 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#77653] [PATCH 3/4] gnu: Add wasm32-wasi-clang. Resent-From: Maxim Cournoyer Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Fri, 25 Apr 2025 12:53:03 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 77653 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: Ian Eure Cc: 77653@debbugs.gnu.org Received: via spool by 77653-submit@debbugs.gnu.org id=B77653.17455855685834 (code B ref 77653); Fri, 25 Apr 2025 12:53:03 +0000 Received: (at 77653) by debbugs.gnu.org; 25 Apr 2025 12:52:48 +0000 Received: from localhost ([127.0.0.1]:48714 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1u8IXv-0001W2-J1 for submit@debbugs.gnu.org; Fri, 25 Apr 2025 08:52:47 -0400 Received: from mail-pj1-x1031.google.com ([2607:f8b0:4864:20::1031]:45335) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.84_2) (envelope-from ) id 1u8IXr-0001VW-U6 for 77653@debbugs.gnu.org; Fri, 25 Apr 2025 08:52:45 -0400 Received: by mail-pj1-x1031.google.com with SMTP id 98e67ed59e1d1-3054ef26da3so1862254a91.3 for <77653@debbugs.gnu.org>; Fri, 25 Apr 2025 05:52:43 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1745585557; x=1746190357; darn=debbugs.gnu.org; h=mime-version:user-agent:message-id:date:references:in-reply-to :subject:cc:to:from:from:to:cc:subject:date:message-id:reply-to; bh=of2YkfzKuQMhJISgpHzwfI8GeKeartNmKj2bMM1eau4=; b=PV9jh4r/Rzkl+berBh/zRCIK9V2PELbeG9MH2gclvh0Z7uAx0ctKsuZKmr5BAxP02J EQFiXVXqP+bMFgOu2mY+J96hXpF9tpCgM1BoPSZOqc/woGY3gRd2aOzb+o+U7vVFamZk 36de4DKwdiiWY9x7TMoTwrnq+J8T7cxXSw4ERacHZLIU/jk6HPGQD15tzbuWJWf4RUgn 8S/DskplDXp0P5elPgvAajRlUU0cGsXqRy8to/Iy7r1ZROmkhoKXtF7JqNhyF5cqb8sS 4w6zKj+6OgEa+j2+j/eipgYiaRBdurvCH6DOmZDTkcALRub8RJcxgRZqbeLSmnaXkmUV j+Rw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1745585557; x=1746190357; h=mime-version:user-agent:message-id:date:references:in-reply-to :subject:cc:to:from:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=of2YkfzKuQMhJISgpHzwfI8GeKeartNmKj2bMM1eau4=; b=Li5EAcaMbOH1Mu+wwQ2oP3y1oLcim0JAs/tKeQEaqlQkVPUUk61u5UD3Dwx96Q1YGG jHaRFjw/mSEJefze4Z4KPDVIPUkcJn70I4J5gCy0aHkaionzsw/balEiyxibJjZK6A4d ahEe3XiZx1yva8RYVLiU27MVvp7vqpHv2zW1KkENWu9kuZLon7X2pv71OWg0sViym4/6 tSuVPVaopwFU1kvfydXDVW5j71hWR1m7r9zlCsjnFfyw0O6xEXFRGZnV+Ne8SeXJA1gM ekeVVXqGcVFyp/HWOBAGRLMBbADG98Dxvmz1LJoNrvvBtQtPxbMjIzDIHDPIoN7O+PuI h8xw== X-Gm-Message-State: AOJu0YwR3Iq2VvobNRzLU6Hqd3o8zUqx93KViM9qbr233jd0AnLsFMrj 0K3vi2/naI6TXcfhqJsY8Q38zEeqIjbVB7JNZF8JFCGU8MPH/nHNH9RBKQ== X-Gm-Gg: ASbGncv46/YLKMH2IVe0mCqMKCT5w8n3JxYEIBgHasJ42BYQrKcpZx/7BAU7WnpfQHN mRN1JfyOXzSBgW/s+ZB5gpuE8e6Vz2aiH60IYr4T4XvlecgB57unnRG6jbvtOjn6KJe6uHLQ3uX ye1p8X9MJox9SoLylzehtfkI/ERE5HCOJK2H01DpiD7p3Y5kdI8ngGlTwwzszUiCVl2oJyCn9de BXX0qjPpO4+3C4ryb4L68TDCs1RdSKJWIn+WBUh70FgPgRK5J1UmTlqyZh+CX6Dk3Y7of0RpoKj spQgbW1MzH1XiCw26YsXVGeSLxDdrEZ6RdefqSg= X-Google-Smtp-Source: AGHT+IEaRKsamWftS4uR1LKXC7PEGC6Zis9v7wjOZg7GW2t5Vt3mrkUZiBaXBLyS8PoHmjgJVG1kQg== X-Received: by 2002:a17:90b:1807:b0:2ff:6ac2:c5a6 with SMTP id 98e67ed59e1d1-309f8e0b4f7mr2519393a91.31.1745585557261; Fri, 25 Apr 2025 05:52:37 -0700 (PDT) Received: from terra ([2405:6586:be0:0:83c8:d31d:2cec:f542]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-22db4c132b7sm31177565ad.0.2025.04.25.05.52.35 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 25 Apr 2025 05:52:36 -0700 (PDT) From: Maxim Cournoyer In-Reply-To: <20250408195830.2084-3-ian@retrospec.tv> (Ian Eure's message of "Tue, 8 Apr 2025 12:58:28 -0700") References: <20250408195830.2084-1-ian@retrospec.tv> <20250408195830.2084-3-ian@retrospec.tv> Date: Fri, 25 Apr 2025 21:52:32 +0900 Message-ID: <87a584qu7j.fsf@gmail.com> User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: 0.0 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Hi, Ian Eure writes: > * gnu/packages/wasm.scm (wasm32-wasi-clang): New variable. > > Change-Id: Ibf1df3e93929442a8eed29eea20b2f83b491f3b3 [...] > --- a/gnu/packages/wasm.scm > +++ b/gnu/packages/wasm.scm > @@ -24,7 +24,8 @@ (define-module (gnu packages wasm) > #:use-module (guix gexp) > #:use-module (guix git-download) > #:use-module ((guix licenses) #:prefix license:) > - #:use-module (guix packages)) > + #:use-module (guix packages) > + #:use-module (guix utils)) > > (define-public wasi-libc > (package > @@ -106,3 +107,29 @@ (define-public wasm32-wasi-clang-runtime > ;; WASM only needs libclang_rt.builtins-wasm32.a from > ;; compiler-rt. > "../source/compiler-rt/lib/builtins"))))) > + > +;; Although Clang can be built to support multiple compilation targets, Guix > +;; builds only target the native architecture, so we have to build a build a > +;; new toolchain that to target WASM. > + > +(define clang-from-llvm (@@ (gnu packages llvm) clang-from-llvm)) > +(define llvm-monorepo (@@ (gnu packages llvm) llvm-monorepo)) > + > +(define-public wasm32-wasi-clang > + (let ((base (clang-from-llvm llvm-16 wasm32-wasi-clang-runtime))) > + (package (inherit base) As explained previously, this should be package/inherit, and this new clang variant should live in the same module as clang in (gnu packages llvm). > + (name "wasm32-wasi-clang") > + (inputs > + (modify-inputs (package-inputs base) > + (prepend wasi-libc))) > + (arguments > + (substitute-keyword-arguments (package-arguments base) > + ((#:configure-flags flags) Since it seems you strictly want to override #:configure-flags rather than extend it, a better choice would be `ensure-keyword-arguments'. > + #~(list "-DCLANG_INCLUDE_TESTS=True" > + ;; Use a sane default include directory. > + (string-append "-DC_INCLUDE_DIRS=" > + #$wasi-libc > + "/wasm32-wasi/include"))) It seems to be /include or /include/wasm32-wasi would be a "saner" default :-). > + ((#:phases phases) > + `(modify-phases ,phases > + (delete 'symlink-cfi_ignorelist)))))))) Why is the above necessary? A comment could help. -- Thanks, Maxim From unknown Sun Jun 15 08:49:26 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#77653] [PATCH 4/4] gnu: Add wasm-sandboxed. Resent-From: Maxim Cournoyer Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Fri, 25 Apr 2025 13:02:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 77653 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: Ian Eure Cc: 77653@debbugs.gnu.org Received: via spool by 77653-submit@debbugs.gnu.org id=B77653.17455860887903 (code B ref 77653); Fri, 25 Apr 2025 13:02:02 +0000 Received: (at 77653) by debbugs.gnu.org; 25 Apr 2025 13:01:28 +0000 Received: from localhost ([127.0.0.1]:48757 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1u8IgK-00023P-9y for submit@debbugs.gnu.org; Fri, 25 Apr 2025 09:01:28 -0400 Received: from mail-pg1-x52f.google.com ([2607:f8b0:4864:20::52f]:56407) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.84_2) (envelope-from ) id 1u8IgH-00022V-9d for 77653@debbugs.gnu.org; Fri, 25 Apr 2025 09:01:26 -0400 Received: by mail-pg1-x52f.google.com with SMTP id 41be03b00d2f7-af51596da56so1686385a12.0 for <77653@debbugs.gnu.org>; Fri, 25 Apr 2025 06:01:25 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1745586078; x=1746190878; darn=debbugs.gnu.org; h=mime-version:user-agent:message-id:date:references:in-reply-to :subject:cc:to:from:from:to:cc:subject:date:message-id:reply-to; bh=qixb2+Ptfr/QqMlZZeQaRhlz9nHoXY2pmyCUKjOFkBQ=; b=IlaCF3U+tqyw27Z5HubKek8lCpCGSoL+stSYrvzocPz3fgk0VbZeoTteohUWiotmNT 1kzNeJ6eeVppPyYxCpqV7roIjdJe0Rb6W/n90bKHw/VwqaC4SyO2n/1dSAdKJ1zyl5fG znUpQDpTp969Ej3NIdLICODVHWeIX8G8s1rlHBVIRzwdSG9SRVT2JAMWTdNmzCBWPmQq of0QpTUfgB4DTPAGcyVAwEXuleA5CrMbQuXI8lvoqmS1m+wbNmR8E4I39Lw4mNKeGr9P M3rIM4Pa7poxNTNyZE1g5CIj6r9qXafRKDAZZnldB9D3DporsGLe1WVPDTOFoMns/OKz 2WZw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1745586078; x=1746190878; h=mime-version:user-agent:message-id:date:references:in-reply-to :subject:cc:to:from:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=qixb2+Ptfr/QqMlZZeQaRhlz9nHoXY2pmyCUKjOFkBQ=; b=lJ1Co4cBoAfXpqMuIFZA81MKWWyXDDb0FYE/5r6N9d4M3HTNF387GwwUFbvOzzELqy xUOLRX/WoleKehIZ4jLYvVm5uEl8xuHN7XhgcLlLBycsSzun++Eh85MXwZlK+1oxncvX h2zz/E91xhlywuBfBfnZ4t4NxPoRUfDc9RCsdFBjsQ6mOP3Govwpb0QexseV20UUtSre J810m1TUjgMGGW7J5YJKwVpPrjlSYARHiBO+rgrGZrXNArnF2CDOlF2YMDQ/ieopQNwq RulxsuUgsu84zU2O2Umco20+Y2u50XJpSaG761XcFh7GkJAuSmZXq6AWJ0/wGQHC2at1 0XBw== X-Gm-Message-State: AOJu0YwTKrEo/o8252jUtwP4cPzIIIDNdfIGHxtI6gJzCAzoAW9a5n5O stUnpajNe9QPofeygLDpgeK+LIOdsAf3MBJW6s+eptK47qGOyO8MnQYTPA== X-Gm-Gg: ASbGncvLPJ/Z0xKiZe0GQJ74PLfRuNlPgvmSwY6/jOF9KHkKxeWljMcv2NBVld2UyYZ vmQP1L1sAxbS6kW+Ps1pw7V2dMCBNOGqF+8vaTk7EhKJhgWa1XA1gOeOE5w2CU72YFMa0iNF0ya CyPSjeGsH3uR0YyfPpPlg/La7p98KpRSAh8b3GBN1m/29lMa6AMBdj+NWaPDB3Aa6548739puD6 8YpjgWWemhjaG7klRD/N86qcL2LgDhaaHyIrgcT08bdsx7tDAYud1ocba/q/HoHp2slXtD26wda Tb1AbI6qJS7w6KKOwY8u4Gisz/U0puq79lgZGB0= X-Google-Smtp-Source: AGHT+IFMrweYXadkJFbTxT1ctOI1jPfg4R/KDPyJhlHs4SbwnzumEwEnv3SPW+0ZHyzAnpt5i+TtUg== X-Received: by 2002:a17:90b:5241:b0:2ee:94d1:7a89 with SMTP id 98e67ed59e1d1-309f7d9e75bmr3501920a91.1.1745586078181; Fri, 25 Apr 2025 06:01:18 -0700 (PDT) Received: from terra ([2405:6586:be0:0:83c8:d31d:2cec:f542]) by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-309ef1385d2sm3345094a91.41.2025.04.25.06.01.16 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 25 Apr 2025 06:01:17 -0700 (PDT) From: Maxim Cournoyer In-Reply-To: <20250408195830.2084-4-ian@retrospec.tv> (Ian Eure's message of "Tue, 8 Apr 2025 12:58:29 -0700") References: <20250408195830.2084-1-ian@retrospec.tv> <20250408195830.2084-4-ian@retrospec.tv> Date: Fri, 25 Apr 2025 22:01:13 +0900 Message-ID: <875xisqtt2.fsf@gmail.com> User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: 0.0 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Hi, Ian Eure writes: > * gnu/packages/gnuzilla.scm (wasm-sandboxed): New variable. > > Change-Id: I568e6cb9aca43122a06f46fd3a8d9a462754c36a > --- > gnu/packages/gnuzilla.scm | 30 ++++++++++++++++++++++++++++++ > 1 file changed, 30 insertions(+) > > diff --git a/gnu/packages/gnuzilla.scm b/gnu/packages/gnuzilla.scm > index f4a912d8d5..32b2d13de5 100644 > --- a/gnu/packages/gnuzilla.scm > +++ b/gnu/packages/gnuzilla.scm > @@ -99,8 +99,38 @@ (define-module (gnu packages gnuzilla) > #:use-module (gnu packages xdisorg) > #:use-module (gnu packages readline) > #:use-module (gnu packages sqlite) > + #:use-module (gnu packages wasm) > #:autoload (json parser) (json->scm)) > > +(define-public (wasm-sandboxed orig-package) > + "Given a Firefox or Firefox-derived package ORIG-PACKAGE, return a > +variant package which enables WASM sandboxing." > + (package > + (inherit orig-package) If that is going to be called to define top-level packages in some other module, that would also lead to the circular module dependency problem discussed earlier. Perhaps it's best to remain private then. > + (name (string-append (package-name orig-package) "-wasm-sandboxed")) > + (arguments > + (substitute-keyword-arguments (package-arguments orig-package) > + ((#:configure-flags flags) > + #~(let ((wasi-sysroot #$(this-package-native-input "wasm32-wasi-clang-toolchain"))) > + (append (delq "--without-wasm-sandboxed-libraries" #$flags) To compare strings, you want equal?, not eq?, so you should use delete and not delq. > + (list > + (string-append "--with-wasi-sysroot=" wasi-sysroot "/wasm32-wasi"))))) Too wide: our guidelines says maximum width should be 80 columns. > + ((#:phases phases) I find it's often a better practice to put a default value when using `substitute-keyword-arguments', otherwise if there is no #:phases argument in the base package, nothing happens. So something like: ((#:phases phases '%standard-phases) ...) would be more robust. > + #~(modify-phases #$phases > + (add-before 'configure 'set-wasm-env > + (lambda* (#:key inputs #:allow-other-keys) > + (setenv "WASM_CC" > + (string-append (assoc-ref inputs > + "wasm32-wasi-clang-toolchain") > + "/bin/clang")) Instead of assoc-ref, you should use the more modern equivalent #$(this-package-native-input "wasm32-wasi-clang-toolchain"). I'm not sure i we really want this wrapper, which is nice but could lead to even more variants of firefox builds, which are expensive. Perhaps we should just make a decision to enable such support in our current builds, if it doesn't cause performance problems yet (supposedly) helps with security and be done. -- Thanks, Maxim From unknown Sun Jun 15 08:49:26 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#77653] [PATCH 0/4] Add WASM toolchain, wasi-libc, and browser WASM sandbox support Resent-From: Maxim Cournoyer Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Fri, 25 Apr 2025 13:03:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 77653 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: Ian Eure Cc: 77653@debbugs.gnu.org Received: via spool by 77653-submit@debbugs.gnu.org id=B77653.17455861808589 (code B ref 77653); Fri, 25 Apr 2025 13:03:01 +0000 Received: (at 77653) by debbugs.gnu.org; 25 Apr 2025 13:03:00 +0000 Received: from localhost ([127.0.0.1]:48778 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1u8Iho-0002ET-Ah for submit@debbugs.gnu.org; Fri, 25 Apr 2025 09:03:00 -0400 Received: from mail-pl1-x633.google.com ([2607:f8b0:4864:20::633]:61940) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.84_2) (envelope-from ) id 1u8Ihk-0002Dq-Ph for 77653@debbugs.gnu.org; Fri, 25 Apr 2025 09:02:58 -0400 Received: by mail-pl1-x633.google.com with SMTP id d9443c01a7336-22c336fcdaaso26054785ad.3 for <77653@debbugs.gnu.org>; Fri, 25 Apr 2025 06:02:56 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1745586170; x=1746190970; darn=debbugs.gnu.org; h=mime-version:user-agent:message-id:date:references:in-reply-to :subject:cc:to:from:from:to:cc:subject:date:message-id:reply-to; bh=mf8xAsy6GShU724VPIv4JMf8KmVb46BAZWOz/OeGoyI=; b=Pjcz23Ri5JHfXdpoR7DTlUVEfFl8hWL4o1fC/86laDYs3mlhwJ4yK3trrbM0KG6y9G UCcb7ifh9InG/+r92bal0so3PI85mmcO2JIQozH++6OHRLd3HmrbVdl2KcwAtZrJCHjw 0RIbP+gQdq4GtgKClJDM9v7I1KOeG1nWwxBfemhi/bLDNlITTnuFQVHEzYPIXce0pUtN FB/nBfnNcp25ET+fQEpb5wBBKXWPp2FQiAobmzPDsGldTzPMbH4Hnw6qGeq2mUsxQB2b TfGEO+CDdjfYsKQqJUGtya9wIxGkwh8OzWW+WJwyFewqmF5SpdBKWbaol6znERayMHIK Gbew== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1745586170; x=1746190970; h=mime-version:user-agent:message-id:date:references:in-reply-to :subject:cc:to:from:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=mf8xAsy6GShU724VPIv4JMf8KmVb46BAZWOz/OeGoyI=; b=eN2vwJz2+SO9newCEamfbmGqeF4OBXSAXYlYKEGyfkk0OHfRF2X64WssQ4ZGmWvg3Q vsT8SzhRnCVEgiGq1u9fK5IauRuSR+zTsiiFOXvC6P1j1Zyu0pVYqDe9IRzBh+khSZe6 xdeMD68Cb9/KadO+cHsSZ1xFvnULCYagE1dI0ECTUGFthCSk+G8qVvzRmjQwOVM4Dnh/ jGjjjpDdkEYFXXPmzv2YNFX6399o/uw89leme7XqgyE9KSYE9pjvm1cuFVxah3377rS3 v2N6alnqoMzRYN5kjNscZ1zP6qvuw9cGvVao6NTWXk/P1zgpJ3GP9WTibhes6D0wbUkD Ah0w== X-Gm-Message-State: AOJu0YyQrRAwkoF4z3cYWZ0dcsvwWwtFtwkAUBsQ0Dav7WYXQADKukAJ iKyEBNBnIun7UwfPN8y5/yYqFtx7udu6aYZDCZLyEhHhWqYvOYSoy6WwCg== X-Gm-Gg: ASbGncvMnRlMg6BuuPWnya+zjuvCs3NRMeRNkItYEaf0BYA7FUoSePQZgk+GHCAw/Ar Vjyq0p2qy1yYduk2BxIkA56evJEgcRuhKGONI2bKI+Ua8HmFBnSB9C8O9tciqAX0PEa0EzekTO5 TeZmzQA1sLf7jzsu44VX6olWqnukig9ufFw2j7g1HlgQvFYq+FCbmodUvjdw5ZAezYOWOskgfwm qRzgM0VtYtMgH8kNSPW8tPMf7AjUp8kzTP2fILzQNWVZgmai3EHS7xmiK7xuw7/41Kwuh2OaIES cY8LjDJOHlVDzb6Ws/8YbJ4zD3aqXumxRjACdQ4= X-Google-Smtp-Source: AGHT+IE1+XvU9xguXc1IQl3iw/BKVx910Ak2CgjlGpB21VctvnpucF4j8VauKMzd3Dr3ozIcxQ4H2g== X-Received: by 2002:a17:902:e852:b0:215:b75f:a1cb with SMTP id d9443c01a7336-22dbf4d7314mr32756555ad.9.1745586170023; Fri, 25 Apr 2025 06:02:50 -0700 (PDT) Received: from terra ([2405:6586:be0:0:83c8:d31d:2cec:f542]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-22db50e7bb6sm31268205ad.139.2025.04.25.06.02.48 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 25 Apr 2025 06:02:49 -0700 (PDT) From: Maxim Cournoyer In-Reply-To: <20250408195720.2021-1-ian@retrospec.tv> (Ian Eure's message of "Tue, 8 Apr 2025 12:57:20 -0700") References: <20250408195720.2021-1-ian@retrospec.tv> Date: Fri, 25 Apr 2025 22:02:45 +0900 Message-ID: <871ptgqtqi.fsf@gmail.com> User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: 0.0 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Hi Ian, Ian Eure writes: > This patch series adds a Clang variant which can emit WASM; runtime support for WASM binaries; wasi-libc, a libc implementation for WASM programs; and a `wasm-sandboxed' function which creates a WASM sandboxed variant of Firefox-based browsers. > > In Firefox and Firefox-derived browsers, WASM sandboxing is a security technique which compiles C/C++ libraries into WASM, then translates the WASM back into native code. This allows leveraging the WASM security model to isolate the library from the browser, without needing a separate process to contain it. Please see this blog post for more info: https://hacks.mozilla.org/2020/02/securing-firefox-with-webassembly/ > > The code is extracted from my personal channel[1], which in turn is based on work done for nonguix's Firefox package. I've been daliy-driving personal variants of LibreWolf since before the package was accepted into Guix, and nonguix's Firefox has been using it even longer. > > [1]: https://codeberg.org/ieure/atomized-guix/src/branch/main/atomized/packages/wasm.scm > [2]: https://gitlab.com/nonguix/nonguix/-/blob/master/nongnu/packages/wasm.scm?ref_type=heads > > Ian Eure (4): > gnu: Add wasi-libc. > gnu: Add wasm32-wasi-clang-runtime. > gnu: Add wasm32-wasi-clang. > gnu: Add wasm-sandboxed. Thanks for picking it up! Nice series. I've left a few hopefully useful comments. Could you please prepare a v2 taking them into account? Thank you! -- Maxim From unknown Sun Jun 15 08:49:26 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#77653] [PATCH 0/4] Add WASM toolchain, wasi-libc, and browser WASM sandbox support References: <20250408195720.2021-1-ian@retrospec.tv> In-Reply-To: <20250408195720.2021-1-ian@retrospec.tv> Resent-From: Ian Eure Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Mon, 28 Apr 2025 01:11:04 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 77653 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: Maxim Cournoyer Cc: Z572 , 77653@debbugs.gnu.org, Maxim Cournoyer Received: via spool by 77653-submit@debbugs.gnu.org id=B77653.174580264115372 (code B ref 77653); Mon, 28 Apr 2025 01:11:04 +0000 Received: (at 77653) by debbugs.gnu.org; 28 Apr 2025 01:10:41 +0000 Received: from localhost ([127.0.0.1]:46951 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1u9D17-0003zs-Dw for submit@debbugs.gnu.org; Sun, 27 Apr 2025 21:10:41 -0400 Received: from fout-a6-smtp.messagingengine.com ([103.168.172.149]:53013) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1u9D14-0003yn-Ar for 77653@debbugs.gnu.org; Sun, 27 Apr 2025 21:10:39 -0400 Received: from phl-compute-05.internal (phl-compute-05.phl.internal [10.202.2.45]) by mailfout.phl.internal (Postfix) with ESMTP id 5062613801D7; Sun, 27 Apr 2025 21:10:32 -0400 (EDT) Received: from phl-mailfrontend-01 ([10.202.2.162]) by phl-compute-05.internal (MEProxy); Sun, 27 Apr 2025 21:10:32 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=retrospec.tv; h= cc:cc:content-transfer-encoding:content-type:content-type:date :date:from:from:in-reply-to:message-id:mime-version:reply-to :subject:subject:to:to; s=fm2; t=1745802632; x=1745889032; bh=IV 5AMv7yJZDAIn+Fl6dXpmzuZYSh1SH7xTRVftdPgAs=; b=Rhx+RCL0lbZN9txdY4 hOh4Ph+03YtJm/3z7bw2gNJ6oU6C3aQFdCYIUaHxNEZTTivvtvXzbteXhPJsAke0 OqlH0e5550ip6s3suEW/PbJdzN2xXE/HXBLDZFeBeGogSSprEodG98Z1aMEteN53 jrDRgbYHzQ+B07onFefLz/1Z0yo0nwMVc2vPusSJhIY/sPL+XnMIPsMb59smTILo NCBC6yiDARvxndotzZycDRQuvCwFecAkmWNs3mEQf0x37klh0BrwDwU3o1mEw2Nm C+QOt7U2VNNH0FejVDS5V4l2R6rOhxGas23mOhwK77I0dIZ+fGYE5a5u5BjSkpRF JdUw== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:cc:content-transfer-encoding :content-type:content-type:date:date:feedback-id:feedback-id :from:from:in-reply-to:message-id:mime-version:reply-to:subject :subject:to:to:x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s= fm3; t=1745802632; x=1745889032; bh=IV5AMv7yJZDAIn+Fl6dXpmzuZYSh 1SH7xTRVftdPgAs=; b=Hm4sxsc8mc0oRFN06+cJfmHo6aMsRISWa3gWLemmhXLI QR54dIz8MNb653erqIkgLXQN1dBuZXsXO4mO4zSb3egGhWHMuIGgQAniE1mF+40/ eOYraq5odYImslfbGc6ReISlE7bBDQopGQS2Afg+j0rY3cnViKoZxoXcwjfGon/s iFHTr+17hzvaGzv+e5AZXKH6td2VXVzrEIrmlStOTeouGLY7yqF8o+vdul+x66I/ W6VYManIGO7kqWCCao2vIVzdQP0N/xs23BkmV3+TNqG+ilee/J0Q1uslYgJ9ET2i J43dA2SOmj9jCP/zwUFwuxXvjB1DJ6LNOonoIb+JAg== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeefvddrtddtgddvheelheelucetufdoteggodetrf dotffvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdggtfgfnhhsuhgsshgtrhhisggv pdfurfetoffkrfgpnffqhgenuceurghilhhouhhtmecufedttdenucesvcftvggtihhpih gvnhhtshculddquddttddmnecujfgurhephffvvefufgffkfggtgfgsehtqhertddtreej necuhfhrohhmpefkrghnucfguhhrvgcuoehirghnsehrvghtrhhoshhpvggtrdhtvheqne cuggftrfgrthhtvghrnhephfdtgedvheffgeejgfdvjeduiedugefhgfekfefgteduhffg jefftedvveeludeunecuffhomhgrihhnpehgihhthhhusgdrtghomhenucevlhhushhtvg hrufhiiigvpedtnecurfgrrhgrmhepmhgrihhlfhhrohhmpehirghnsehrvghtrhhoshhp vggtrdhtvhdpnhgspghrtghpthhtohepgedpmhhouggvpehsmhhtphhouhhtpdhrtghpth htohepmhgrgihimhdrtghouhhrnhhohigvrhesghhmrghilhdrtghomhdprhgtphhtthho peiiheejvdesiiehjedvrdhonhhlihhnvgdprhgtphhtthhopeejjeeiheefseguvggssg hughhsrdhgnhhurdhorhhg X-ME-Proxy: Feedback-ID: id9014242:Fastmail Received: by mail.messagingengine.com (Postfix) with ESMTPA; Sun, 27 Apr 2025 21:10:30 -0400 (EDT) From: Ian Eure User-Agent: mu4e 1.12.9; emacs 29.4 Date: Sun, 27 Apr 2025 18:10:28 -0700 Message-ID: <878qnl146z.fsf@retrospec.tv> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: quoted-printable X-Spam-Score: -0.7 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.7 (-) Hi Maxim, Z572, Maxim Cournoyer writes: > Hi Ian, > > > Thanks for picking it up! Nice series. I've left a few=20 > hopefully > useful comments. Could you please prepare a v2 taking them into > account? Sorry about the delay on this. I appreciate the feedback and have=20 a v2 in decent shape that incorporates nearly all the feedback=20 from the two of you. Unfortunately, this work is currently blocked due to unclear=20 licensing of the WASI specification, which wasi-libc includes a=20 copy of via Git submodule. There=E2=80=99s an issue open for this, but it= =20 was opened in 2019 and still isn=E2=80=99t resolved. Hopefully recent=20 pings on the issue will get it some renewed attention, but I=E2=80=99m not= =20 feeling confident about moving this forward at the moment. I=E2=80=99ll go ahead and send a v2 patch anyway, but it=E2=80=99s unpushab= le=20 until the WASI situation is resolved. Thanks, -- Ian [1]: https://github.com/WebAssembly/WASI/issues/182 From unknown Sun Jun 15 08:49:26 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#77653] [PATCH 0/4] Add WASM toolchain, wasi-libc, and browser WASM sandbox support Resent-From: Maxim Cournoyer Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Tue, 29 Apr 2025 01:26:04 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 77653 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: Ian Eure Cc: Z572 , 77653@debbugs.gnu.org Received: via spool by 77653-submit@debbugs.gnu.org id=B77653.174588990213762 (code B ref 77653); Tue, 29 Apr 2025 01:26:04 +0000 Received: (at 77653) by debbugs.gnu.org; 29 Apr 2025 01:25:02 +0000 Received: from localhost ([127.0.0.1]:41057 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1u9ZiX-0003Zj-FO for submit@debbugs.gnu.org; Mon, 28 Apr 2025 21:25:01 -0400 Received: from mail-pl1-x631.google.com ([2607:f8b0:4864:20::631]:42243) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.84_2) (envelope-from ) id 1u9ZiR-0003Y1-F5 for 77653@debbugs.gnu.org; Mon, 28 Apr 2025 21:24:59 -0400 Received: by mail-pl1-x631.google.com with SMTP id d9443c01a7336-223f4c06e9fso47524775ad.1 for <77653@debbugs.gnu.org>; Mon, 28 Apr 2025 18:24:55 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1745889889; x=1746494689; darn=debbugs.gnu.org; h=mime-version:user-agent:message-id:date:references:in-reply-to :subject:cc:to:from:from:to:cc:subject:date:message-id:reply-to; bh=NIG8punzEmTMA8xr9W0zVxT2F8DRjCnYl16OHIZiNRI=; b=jUSwIqFFmNHW1+s4z3eWjomOPVZ4B7rKUEN0PBtGEswmRnmKozSL2SlmbC7u5V4ykr wW/rFzf64mW4QAwy/iOie+uhY37QcWIovygXUvGfraM2XMU6IqDe7WwB5mDlwj+22N6s hGsBAkoTb2kLOQ8vI4ZcUl2B5ZFkgpXKvRPQZmNL8U/80R0wBlJ/rHzNy3zOkLwTk3AA T+xiRgO6qHMffl9agWzomaFW+l5e0wkpMcksnosM+Vc6KL3jvBW3RhzagEiXcK5cNAeg 43KV5EZbsSFHuYrsj1yQy0CHZcDpD8VPtTuPGcyQ/IcBEBAlm3QXJhVyYOYto5Hd/KqI 1eyw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1745889889; x=1746494689; h=mime-version:user-agent:message-id:date:references:in-reply-to :subject:cc:to:from:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=NIG8punzEmTMA8xr9W0zVxT2F8DRjCnYl16OHIZiNRI=; b=EdG4lu5qDiPCmYai4Y9iLvdurx9FvHKQfWls69mOxjHq9ZznV6OUY/2FrpURM+cdFF D9kfF0Q3YZ6TrBdVv7S74maNnxEA099QouqaOQ1vBKzfMaRuypII3EdoAE00FQp18i1f agDjEYRbz5mXys78y8auttGHbXHYb3R7/mOEUmgMUWhnMzktzZY9Xuwl2uIVxzkK5mCU 3V7iEuSOkZmxnp706KaH5+VWb3ZBwxzdXQ4Or0fyDZqmt8BgmcZc6ZFfv5Rk5H+j22mU CKdKrtD1ihULq5kKYl08bLwFW0sqRn9Tmh6li/YvawPiItbRP5ptVZmqEM00YkHRj5LV wzwQ== X-Gm-Message-State: AOJu0YwD+3qfbpdx1Epvm6YD9oamuXWMBbmvg6lWeAZ+p8U2Ghwc5qEe yJn06+sPUWgYjkDcYK/p/6vO+h2WcBJbrB+7mAq0/8ythb7s4e+3 X-Gm-Gg: ASbGncveku9n7WULFsyU3nuPfsg0GdF3zVe/q91SRm7YApvus8ItNBFS1JUdUL2pl0u YTMZSlO8BIqphMr5USD6Hl5jOacOz5tS+JcF7ol++2TfnOa0+WBjJbUP0tj5XVMBFQgJudopl5a qJWaSGUbPzhxEHNkkhAq5GZTx4bnAXFq4BZ4PJwh1Cjhq0g7nGNr2XjLaToYUvH6Sf8XD2GgBS0 nlZEQxMVf/Lat9wlCUVJ3HxgZ0Z4Dycmrgjokf5m2bcDNHR+Bc4xv7rh8uVf2sD1iDmYa1qZORf qOYYlJttGSSI8nsBctNnJDhLUZ/q0FBvAGel2W4= X-Google-Smtp-Source: AGHT+IHV5sHhNFKvILVFbZKCgxDOBhHYzzJjUxASL6plqjzynfrPGlCUV3pdILuJ7N/tcU5pWvGuuQ== X-Received: by 2002:a17:903:1a24:b0:215:44fe:163d with SMTP id d9443c01a7336-22de6c3e03fmr16976915ad.17.1745889888831; Mon, 28 Apr 2025 18:24:48 -0700 (PDT) Received: from terra ([2405:6586:be0:0:83c8:d31d:2cec:f542]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-22db50e7aadsm90389385ad.138.2025.04.28.18.24.47 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 28 Apr 2025 18:24:48 -0700 (PDT) From: Maxim Cournoyer In-Reply-To: <878qnl146z.fsf@retrospec.tv> (Ian Eure's message of "Sun, 27 Apr 2025 18:10:28 -0700") References: <878qnl146z.fsf@retrospec.tv> Date: Tue, 29 Apr 2025 10:24:45 +0900 Message-ID: <871ptbdajm.fsf@gmail.com> User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: 0.0 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Hi, Ian Eure writes: > Hi Maxim, Z572, > > Maxim Cournoyer writes: > >> Hi Ian, >> >> >> Thanks for picking it up! Nice series. I've left a few hopefully >> useful comments. Could you please prepare a v2 taking them into >> account? > > Sorry about the delay on this. I appreciate the feedback and have a > v2 in decent shape that incorporates nearly all the feedback from the > two of you. > > Unfortunately, this work is currently blocked due to unclear licensing > of the WASI specification, which wasi-libc includes a copy of via Git WASI specification sounds like non-functional data more than code, right? If that's correct, then it shouldn't be an impediment to having this merged in GNU Guix (though of course having this licensing issue fixed upstream would be nice), as the GNU FSDG has an exception for non-functional data, as long as is freely distributable. See the 'Non-functional Data' paragraph, specifically: > It can be included in a free system distribution as long as its > license gives you permission to copy and redistribute, both for > commercial and non-commercial purposes. -- Thanks, Maxim From unknown Sun Jun 15 08:49:26 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#77653] [PATCH 0/4] Add WASM toolchain, wasi-libc, and browser WASM sandbox support Resent-From: Ian Eure Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Fri, 02 May 2025 22:49:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 77653 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: Maxim Cournoyer Cc: 77653@debbugs.gnu.org, Z572 Received: via spool by 77653-submit@debbugs.gnu.org id=B77653.174622611831519 (code B ref 77653); Fri, 02 May 2025 22:49:02 +0000 Received: (at 77653) by debbugs.gnu.org; 2 May 2025 22:48:38 +0000 Received: from localhost ([127.0.0.1]:34473 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1uAzBN-0008CI-Hm for submit@debbugs.gnu.org; Fri, 02 May 2025 18:48:37 -0400 Received: from fhigh-b3-smtp.messagingengine.com ([202.12.124.154]:58021) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1uAzBJ-0008Bx-Jh for 77653@debbugs.gnu.org; Fri, 02 May 2025 18:48:35 -0400 Received: from phl-compute-11.internal (phl-compute-11.phl.internal [10.202.2.51]) by mailfhigh.stl.internal (Postfix) with ESMTP id 0F62E2540202; Fri, 2 May 2025 18:48:27 -0400 (EDT) Received: from phl-mailfrontend-02 ([10.202.2.163]) by phl-compute-11.internal (MEProxy); Fri, 02 May 2025 18:48:27 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=retrospec.tv; h= cc:cc:content-transfer-encoding:content-type:content-type:date :date:from:from:in-reply-to:in-reply-to:message-id:mime-version :references:reply-to:subject:subject:to:to; s=fm2; t=1746226106; x=1746312506; bh=rAuc0Tgakenxh9Kbefi1BI5qYKlCjNvkjKG2tT3cdys=; b= Nbxx8zvXk8/dPNqnsjtGTGA9suAgre6F2dyot55yDmrYlp7IDqUp1bNg1MGyG/Lh 90tTbya713JXQdFW9hA17P8hEozjDU1vh1vmxXWpPJbuQb/x4jbo7ToB882OK6yU wL/3/QcFc/apOY6uEKJt/SLeF24LTyrZCMCGHiCm9W31OmNY6F+uT4WsFyhJhAyi gHw20cn5uotfQoiwUiVMEFbVxK5LqzLnkxhP7lSShM0Z8lTuczmNePcJ/PXCXAtY ZZ+9fNNqkAwjinSKciGH65HIwvSlR6ZPXiMFftyXcagomIcjReyS/pln+XDjjDDK WX/k9O/JomkxwtVysgjBWg== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:cc:content-transfer-encoding :content-type:content-type:date:date:feedback-id:feedback-id :from:from:in-reply-to:in-reply-to:message-id:mime-version :references:reply-to:subject:subject:to:to:x-me-proxy :x-me-sender:x-me-sender:x-sasl-enc; s=fm3; t=1746226106; x= 1746312506; bh=rAuc0Tgakenxh9Kbefi1BI5qYKlCjNvkjKG2tT3cdys=; b=F xCY+kn99nQEBqIsaLOptYe705pzO1V7VKhQDqnMO5SrPYhZi3LqjjSSA/gwhFseI zJajz3o0CrLrGv516q0wOuE5cgbUI7weWJB3REMcNtGWwFT5KVLum/kpYE2hDdt8 SaZs+/jhKTsjdKWUl8qHa92Ksb5e+JX1xXfvgc/aRAMnjHb7sZ76hYLpd6aG7qPv JXZRx7qkxQeqaXmaj420Oq0TM+JzfiAFlNwK+Mxp8CdwC8OAPyAM22vw6ns0/sxM 8ZeLa/jns2MW90AkaJ0NjxxRQjfgaCQIfd5SHGpZLsjtSQ8oug7Mkxx4hCKFqRb6 uN+XRHyFmjnP5L4hlUckg== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeefvddrtddtgddvjeefieelucetufdoteggodetrf dotffvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdggtfgfnhhsuhgsshgtrhhisggv pdfurfetoffkrfgpnffqhgenuceurghilhhouhhtmecufedttdenucesvcftvggtihhpih gvnhhtshculddquddttddmnecujfgurhephffvvefujghffgffkfggtgfgsehtqhertddt reejnecuhfhrohhmpefkrghnucfguhhrvgcuoehirghnsehrvghtrhhoshhpvggtrdhtvh eqnecuggftrfgrthhtvghrnhepueekieduheegtdejieelvefgjeevleethfegudekgfeu leefleeggeelvdefffeknecuffhomhgrihhnpehgihhthhhusgdrtghomhdplhhitggvnh hsvgdrmhgunecuvehluhhsthgvrhfuihiivgeptdenucfrrghrrghmpehmrghilhhfrhho mhepihgrnhesrhgvthhrohhsphgvtgdrthhvpdhnsggprhgtphhtthhopeefpdhmohguvg epshhmthhpohhuthdprhgtphhtthhopeejjeeiheefseguvggssghughhsrdhgnhhurdho rhhgpdhrtghpthhtohepiiehjedvseiiheejvddrohhnlhhinhgvpdhrtghpthhtohepmh grgihimhdrtghouhhrnhhohigvrhesghhmrghilhdrtghomh X-ME-Proxy: Feedback-ID: id9014242:Fastmail Received: by mail.messagingengine.com (Postfix) with ESMTPA; Fri, 2 May 2025 18:48:25 -0400 (EDT) From: Ian Eure In-Reply-To: <871ptbdajm.fsf@gmail.com> (Maxim Cournoyer's message of "Tue, 29 Apr 2025 10:24:45 +0900") References: <878qnl146z.fsf@retrospec.tv> <871ptbdajm.fsf@gmail.com> User-Agent: mu4e 1.12.9; emacs 29.4 Date: Fri, 02 May 2025 15:48:23 -0700 Message-ID: <87frhmeiiw.fsf@retrospec.tv> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: quoted-printable X-Spam-Score: -0.7 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.7 (-) Hi Maxim, Maxim Cournoyer writes: > Hi, > > Ian Eure writes: > >> Hi Maxim, Z572, >> >> Maxim Cournoyer writes: >> >>> Hi Ian, >>> >>> >>> Thanks for picking it up! Nice series. I've left a few=20 >>> hopefully >>> useful comments. Could you please prepare a v2 taking them=20 >>> into >>> account? >> >> Sorry about the delay on this. I appreciate the feedback and=20 >> have a >> v2 in decent shape that incorporates nearly all the feedback=20 >> from the >> two of you. >> >> Unfortunately, this work is currently blocked due to unclear=20 >> licensing >> of the WASI specification, which wasi-libc includes a copy of=20 >> via Git > > WASI specification sounds like non-functional data more than=20 > code, > right? If that's correct, then it shouldn't be an impediment to=20 > having > this merged in GNU Guix (though of course having this licensing=20 > issue > fixed upstream would be nice), as the GNU FSDG has an exception=20 > for > non-functional data, as long as is freely distributable. See=20 > the > 'Non-functional Data' paragraph, specifically: The stuff in the WASI repo is used to generate api.h in=20 wasi-libc[1]. Since it=E2=80=99s already in there, maybe we don=E2=80=99t = need to=20 package the WASI repo or fetch the submodule at all. >> It can be included in a free system distribution as long as its >> license gives you permission to copy and redistribute, both for >> commercial and non-commercial purposes. The issue is that it=E2=80=99s unclear whether it has a user license at=20 all. The only licensing information in the project is two=20 sentences saying[2]: Copyright =C2=A9 2019-2023 the Contributors to the WASI=20 Specification, published by the WebAssembly Community Group under the W3C Community Contributor License Agreement (CLA). A=20 human-readable summary is available. The CLA itself covers contributions into the project. While=20 section 12.8 has some language about the terms it can be provided=20 under, a specific license laying out those terms is not provided.=20 It also appears to cover the Specification, which is the final=20 work product, which hasn=E2=80=99t been published yet. Section 5 also=20 allows contributions to be withdrawn up to 45 days after being=20 contributed, which makes it incompatible with the GPL=E2=80=99s "Basic=20 Permissions," which states: All rights granted under this License are granted for the term=20 of copyright on the Program, and are irrevocable provided the=20 stated conditions are met. I=E2=80=99ll see if wasi-libc builds without the WASI module and go from=20 there. Thanks, -- Ian [1]:=20 https://github.com/WebAssembly/wasi-libc/blob/main/libc-bottom-half/headers= /public/wasi/api.h [2]: https://github.com/WebAssembly/WASI/blob/main/LICENSE.md