From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp10.migadu.com ([2001:41d0:8:6d80::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms5.migadu.com with LMTPS id QDijNNQLmmP+JwEAbAwnHQ (envelope-from ) for ; Wed, 14 Dec 2022 18:45:56 +0100 Received: from aspmx1.migadu.com ([2001:41d0:8:6d80::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp10.migadu.com with LMTPS id QNK5M9QLmmOdJwAAG6o9tA (envelope-from ) for ; Wed, 14 Dec 2022 18:45:56 +0100 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by aspmx1.migadu.com (Postfix) with ESMTPS id 38B7B19671 for ; Wed, 14 Dec 2022 18:45:56 +0100 (CET) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1p5Vot-0007cE-Vb; Wed, 14 Dec 2022 12:45:28 -0500 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 1p5Vor-0007bn-Uk for help-guix@gnu.org; Wed, 14 Dec 2022 12:45:26 -0500 Received: from koszko.org ([93.95.227.159]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1p5Von-0000Xi-TY for help-guix@gnu.org; Wed, 14 Dec 2022 12:45:25 -0500 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=koszko.org; s=mail; h=Content-Type:MIME-Version:References:In-Reply-To:Message-ID: Subject:Cc:To:From:Date:Sender:Reply-To:Content-Transfer-Encoding:Content-ID: Content-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc :Resent-Message-ID:List-Id:List-Help:List-Unsubscribe:List-Subscribe: List-Post:List-Owner:List-Archive; bh=mGKhyiOogP7bPeJomzedFhSgw3fS9qd4j1YjFCasQQQ=; b=wABJqvXGwz6IlP0NIgSKde3uJk fpMwx7Sv5a1Lyl167wYV+rhoJBv17lsi5xdpeP/fxWK94koAGLKumjUdHDsbLbZ+l3IWkD3fAI4u8 Qpl+JcfuMtiGuAgs1tWs9kG8wv9KxeGkqXvhgU0M2MkkT96dAVTCvDZ63v5h7jiMdQubRWVb3Z6/F mouUw+E7o1RWIqns3BWJzg46jWbNzxYTv+TwxI/MtahQe2uGe7F4JKguW8WlgEge+gnJVqvK2xi9O wJo0yhhm1wd9X5fZArEVJKAfdSGWUQz2uBCEGg7a5duijiav9iLsXdrkEDGijiIk7+1fVOQx02UZw lhADzuqq1ZO2nVQoQiHAr6CQ4MPL49tEbkrIM76VZq8qNrjYfMMKaBshR77Fl9B26yAq7PWHlJP5X wNgWf7wmIP4rAYg63yRgTzYPFjkK1hgj9r4mtIBiVvk9py/07rTDKxKf4vWWcVJPharFey5HflNj8 7SIqZlVLTB/8mlUVA/rL5WKtnaRTmRDfnYRyO4P2PdCCW6OY+0gvKXgMn+2qTKW0oCghBH8Htrj7s yfz5WjcGASQWh+9b8U7/MToYgjwMvGHclX6vimDx9Bq/G/h1mh18opYrWp27YN3c4+6V0ZPURI+fU 2K0LQ2p0/zAKz9EgfI0bqSIpgzMmD9Enwj8rkit9w=; Received: from [77.252.47.239] (helo=koszkonutek-tmp.pl.eu.org) by koszko.org with esmtpsa (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1p5Voe-0002Om-Bv; Wed, 14 Dec 2022 18:45:12 +0100 Date: Wed, 14 Dec 2022 18:45:09 +0100 To: =?UTF-8?B?U8OpYmFzdGllbg==?= Rey-Coyrehourcq Cc: zimoun , help-guix@gnu.org Subject: Re: Help packaging R Quarto Cli Message-ID: <20221214184509.35c686fd.koszko@koszko.org> In-Reply-To: <87cz8m2b78.fsf@univ-rouen.fr> References: <20221024204024.2c580b81@koszkonutek-tmp.pl.eu.org> <86czag2p1g.fsf@gmail.com> <20221025131709.36ac4915@koszkonutek-tmp.pl.eu.org> <87a65hyc78.fsf@univ-rouen.fr> <20221027115445.0655c84d@koszkonutek-tmp.pl.eu.org> <87a65fud5k.fsf@univ-rouen.fr> <20221028221738.3bf01294@koszkonutek-tmp.pl.eu.org> <878rkztyny.fsf@univ-rouen.fr> <20221103201915.7f6f1679@koszkonutek-tmp.pl.eu.org> <87leodw46k.fsf@univ-rouen.fr> <3f69844a-51b8-78c8-8c13-e1b8bd25ca21@univ-rouen.fr> <20221116215712.7825e8c0@koszkonutek-tmp.pl.eu.org> <87cz9b56l6.fsf@univ-rouen.fr> <87edt22qua.fsf@univ-rouen.fr> <20221214164618.4df484ae.koszko@koszko.org> <87cz8m2b78.fsf@univ-rouen.fr> X-Mailer: Claws Mail 3.17.8 (GTK+ 2.24.33; x86_64-pc-linux-gnu) MIME-Version: 1.0 Content-Type: multipart/signed; boundary="Sig_//XRFSs.cqfEtV7AGPMYWHf="; protocol="application/pgp-signature"; micalg=pgp-sha256 Received-SPF: pass client-ip=93.95.227.159; envelope-from=koszko@koszko.org; helo=koszko.org X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 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, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: help-guix@gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-to: Wojtek Kosior From: Wojtek Kosior via Errors-To: help-guix-bounces+larch=yhetil.org@gnu.org Sender: help-guix-bounces+larch=yhetil.org@gnu.org X-Migadu-Country: US X-Migadu-Flow: FLOW_IN ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=yhetil.org; s=key1; t=1671039956; h=from:from:sender:sender:reply-to: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:list-id:list-help:list-unsubscribe: list-subscribe:list-post:dkim-signature; bh=mGKhyiOogP7bPeJomzedFhSgw3fS9qd4j1YjFCasQQQ=; b=hyrvsd1/AQSDv4vPchtuvAseEV5Sa69B6buOCtyXbhYwKIKNqnGa/hgPWMw32oRSBT41ud uoxrmcJhco6dLR/rYwjSn0eytawD5zvBeyZ5XR7eSpqTG5R/U/CX2TjUzq7PhzXx7qgstc htRdcuKtHn2FvUgUO9oCWy4hso1sCG8zNuAEcOMGSGcmGvJRHStye5E3vcd6mzvr3lVErV bY/JooRWmkspmg2X9kFcLPu4nVaMr5h+1QgBclwRQjr3xy69G3kfxYAVlvq/Cb5Xcvqh4j 8m4Bm3k+GYxFrSTHSTQobVISTSzYVomWVk1mi5tzE2sEzT+fyaMNnnwbZhBmvg== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=fail ("headers rsa verify failed") header.d=koszko.org header.s=mail header.b=wABJqvXG; spf=pass (aspmx1.migadu.com: domain of "help-guix-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="help-guix-bounces+larch=yhetil.org@gnu.org"; dmarc=pass (policy=none) header.from=gnu.org ARC-Seal: i=1; s=key1; d=yhetil.org; t=1671039956; a=rsa-sha256; cv=none; b=SaWJ7qECZXpkPeOa4eN56lShM13bVTAZPWQAOFik1u48TyNBvO0W77P0d2iAIsHYpfKEzg y/iAZRPn2+E1jNiAsnVqg9WK43qLPS1YL/GcvEYcYzr+/b5UrRZfuLrBt1yXIthXX5aY/E JQDykogQzNhE5HgGyTeZcmS2h9BCdpbYlu1C9FyBFWuRM4D9curkhs07cY0y4LsF1hFmzR 5PZ5Xc4asI4Pe9xvVyn2D+gFffZpLcn0RC1k3Q68mwwDSQPtf+5JcX/gq2MksZLOYgqMyC LCcEqpTsXkfUtuiyz3BSJwTKDexPhLlGJfrEBfI4ooMZ9MAgT6ri/+Oupd1UEw== X-Migadu-Spam-Score: -5.37 X-Spam-Score: -5.37 X-Migadu-Queue-Id: 38B7B19671 X-Migadu-Scanner: scn1.migadu.com Authentication-Results: aspmx1.migadu.com; dkim=fail ("headers rsa verify failed") header.d=koszko.org header.s=mail header.b=wABJqvXG; spf=pass (aspmx1.migadu.com: domain of "help-guix-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="help-guix-bounces+larch=yhetil.org@gnu.org"; dmarc=pass (policy=none) header.from=gnu.org X-TUID: 29AcA0SIvpsM --Sig_//XRFSs.cqfEtV7AGPMYWHf= Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable > Yes, you=E2=80=99re right i correct this thing, but this is weird in all = case, here i clone all deno repository (at tag v1.25.2), and this is rename= d as `deno-test-util-checkout-0-1-0' because i=E2=80=99m only interested by= this folder >=20 > Ah, I see why you wanted a name like this. Well, since the sources are the same as those of rust-deno, perhaps it would make sense to use the same origin as in rust-deno recipe? But don't worry about this now. Your build of rust-deno-test-util evidently worked so cleaning up origin definitions can wait until everything else works :) > I found only one crate that use this method `git-fetch' in the list : > There are plenty in other package definition files, e.g. in gnu/packages/python-xyz.scm. It seems Rust is just that special case where git checkout is rarely needed. > So i suppose this is possible to reuse as a dependency in another build= =E2=80=A6 >=20 > This is an intuition but i think i have a problem of ordering in my way t= o do things : >=20 > When i read the `cargo-build-system' sources here ( ) i see that= the build input wait for an /gnu/store link that contain a `.crate' or the= equivalent as `tar.gz' >=20 > Or in my case, the /gnu/store link called by cargo contain only sources, = because the `deno-util' need to be built before creating .crate into the gn= u/store. Perhaps i could cheating the system by providing myself a `gnu/sto= re/xxxx.tar.gz' that contain this sources. >=20 > Inside my `rust-deno-test-util-1-0-0.scm` file i could `(invoke tar ...)= ' command to generate a tar.gz at the root of the this folder. Do you think= that could work ? >=20 > Hum, not sure =E2=80=A6 the real problem is the fact that guix don=E2=80= =99t build the derivation completely? (creating and storing a .crate for de= no-test-util-0-1-0 into /gnu/store) when i run build of main rust-deno.scm = =E2=80=A6 only the source are present, and not the package resulting from t= he build of this derivation. >=20 > Another way is to first compile deno-test-util.scm, that install the corr= esponding crate into /gnu/store, and after that i give this local path to t= he inputs of my main rust-deno.scm . But i don=E2=80=99t know how to give t= his path to my cargo build system input . I'm getting a bit lost in trying to figure out what you think right now. The `/gnu/store/ma04jfp0f33kf38cdn66qai60nhqxx7d-rust-deno-test-util-0.1.0/` was a proper build of your `rust-deno-test-util` package and it contains a proper crate under `share/cargo/registry/`. Code in `cargo-build-system.scm` looks for crates in subdirectory `share/cargo/registry/` of every rust input package =E2=80=94 all seems cor= rect under the assumption that we want test_util to be supplied to deno build as a separate Guix package. It's perhaps possible to achieve success with this assumption (I don't know) but I wanted to instead suggest not creating a separate Guix package nor derivation for test_util. That's what I meant when I wrote "it seems awkward to be required to provide the test_util package as a separate crate". Sorry if I accidently mislead you with this. Earlier you wrote > This nested crate package is not detected/compiled by actual > `cargo-build-system=E2=80=99, so i decide to package it myself , as > `rust-deno-test-util-0.1.0=E2=80=99 What seems to be the most straightforward and promising way is to (somehow?) fix the build system to detect the nested package. I know, it's easy to say =E2=80=94 and you surely made extensive attempts before falling back to creating an extra definition for rust-deno-test-util. Hopefully, inspection of the build container will help shed some light on this. Also, the git-fetch issues will become nonexistent if you manage to do it this way :) Since your rust-deno recipe uses `(method url-fetch)` with `(crate-uri)`, I'm starting to wonder if the tarball that's being used in this case contains exactly the same files as the git checkout. I earlier assumed that it does when I suggested reusing the origin in your rust-deno-test-util recipe. But perhaps it doesn't? I could imagine deno devs omitting e.g. `test_util/` from the source tarball they upload to the crates repo. > How do you reference/call/reuse a package that already exist in your /gnu= /store in a .scm file ? You don't :) That's the point of a functional package manager - there's never need to *explicitly* reference files in the store. They are always referenced indirectly through packages, derivations, plain-file's, gexps, etc. And they get created or reused automatically. Wojtek -- (sig_start) website: https://koszko.org/koszko.html PGP: https://koszko.org/key.gpg fingerprint: E972 7060 E3C5 637C 8A4F 4B42 4BC5 221C 5A79 FD1A Meet Krak=C3=B3w saints! #25: blessed Maksymilian Binkiewicz Poznaj =C5=9Bwi=C4=99tych krakowskich! #25: b=C5=82ogos=C5=82awiony Maksym= ilian Binkiewicz https://pl.wikipedia.org/wiki/Maksymilian_Binkiewicz -- (sig_end) On Wed, 14 Dec 2022 17:16:45 +0100 S=C3=A9bastien Rey-Coyrehourcq wr= ote: > Wojtek Kosior writes: >=20 >=20 > > Hello again > > > > I am impressed with your determination :) > > =20 >=20 > thx :D >=20 > > I see most packages in Guix that use `(method git-fetch)` also use > > `(file-name (git-file-name name version))` in `(origin)`. > > > > Note that this only affects the name under which the git checkout is > > saved. Whether the source checkout directory under `/gnu/store` is > > named `8479xfpn9hp2b3kc9d3596kpncan9d8w-rust-deno-test-util-0.1.0.tar.g= z/` > > or something else should not be relevant to the build. > > =20 >=20 > Yes, you=E2=80=99re right i correct this thing, but this is weird in all = case, here i clone all deno repository (at tag v1.25.2), and this is rename= d as `deno-test-util-checkout-0-1-0' because i=E2=80=99m only interested by= this folder >=20 > >=20 > I found only one crate that use this method `git-fetch' in the list : > >=20 > So i suppose this is possible to reuse as a dependency in another build= =E2=80=A6 >=20 > This is an intuition but i think i have a problem of ordering in my way t= o do things : >=20 > When i read the `cargo-build-system' sources here ( ) i see that= the build input wait for an /gnu/store link that contain a `.crate' or the= equivalent as `tar.gz' >=20 > Or in my case, the /gnu/store link called by cargo contain only sources, = because the `deno-util' need to be built before creating .crate into the gn= u/store. Perhaps i could cheating the system by providing myself a `gnu/sto= re/xxxx.tar.gz' that contain this sources. >=20 > Inside my `rust-deno-test-util-1-0-0.scm` file i could `(invoke tar ...)= ' command to generate a tar.gz at the root of the this folder. Do you think= that could work ? >=20 > Hum, not sure =E2=80=A6 the real problem is the fact that guix don=E2=80= =99t build the derivation completely? (creating and storing a .crate for de= no-test-util-0-1-0 into /gnu/store) when i run build of main rust-deno.scm = =E2=80=A6 only the source are present, and not the package resulting from t= he build of this derivation. >=20 > Another way is to first compile deno-test-util.scm, that install the corr= esponding crate into /gnu/store, and after that i give this local path to t= he inputs of my main rust-deno.scm . But i don=E2=80=99t know how to give t= his path to my cargo build system input . How do you reference/call/reuse a= package that already exist in your /gnu/store in a .scm file ? >=20 > > Although I doubt I will be able to help with no knowledge of Rust, I=E2= =80=99ll > > at least suggest that you attach the full rust-deno build logs here. > > This will perhaps at least enable others to help (the time needed to > > build it all does scare away!). > > > > Btw, it seems awkward to be required to provide the test_util package > > as a separate crate. I=E2=80=99d rather imagine Deno devs somehow using= the > > test_util sources already in the deno tree. > > =20 >=20 > Yeah, but now it=E2=80=99s packaged and the package compile, i try one mo= re time like that :D >=20 > > Have you tried fiddling around inside the build container? If not, you > > may want to look at this manual node[1]. Perhaps after running some of > > the build commands manually you=E2=80=99ll get better ideas? =20 >=20 > Thanks i will look on that > > > > At the end, in the worst case, you could resort to disabling tests for > > the package. Nobody likes this =E2=80=9Csolution=E2=80=9D but sometimes= it is the only > > way to go =C2=AF\_(=E3=83=84)_/=C2=AF =20 >=20 > Ahah right, i probably do that if i want to finish in 2022 :D >=20 > Best, > S=C3=A9bastien Rey-Coyrehourcq >=20 > > > > Good luck, > > Wojtek > > > > [1] > > > > =E2=80=93 (sig_start) > > website: > > PGP: > > fingerprint: E972 7060 E3C5 637C 8A4F 4B42 4BC5 221C 5A79 FD1A > > > > Meet Krak=C3=B3w saints! #24: blessed Ludwik Pius Bartosik > > Poznaj =C5=9Bwi=C4=99tych krakowskich! #24: b=C5=82ogos=C5=82awiony Lu= dwik Pius Bartosik > > > > =E2=80=93 (sig_end) > > > > > > On Wed, 14 Dec 2022 11:30:16 +0100 > > S=C3=A9bastien Rey-Coyrehourcq wrote: > > =20 > >> Hi, > >> > >> After two weeks of suffering and pain with this complex rust packaging= , and > >> thanks to people on the libera #guix chat, my =E2=80=9Crust packaging = adventure=E2=80=9D is > >> near ending=E2=80=A6 at least with deno, i see quarto after that=E2=80= =A6 > >> > >> Everything compile by parts, and i need a final help to merge things. > >> > >> I only have a problem at `testing-phase=E2=80=99, with a local rust pa= ckage defined on Deno `/test_util=E2=80=99 folder. This package is not publ= ished at all on crates.io and it=E2=80=99s needed at test-phase=E2=80=A6 > >> > >> This nested crate package is not detected/compiled by actual `cargo-bu= ild-system=E2=80=99, so i decide to package it myself , as `rust-deno-test-= util-0.1.0=E2=80=99 > >> > >> I tested and this crate compile well, with two derivation : > >> > >> =E2=80=A2 `/gnu/store/ma04jfp0f33kf38cdn66qai60nhqxx7d-rust-deno-test-= util-0.1.0/=E2=80=99 > >> =E2=80=A2 `/gnu/store/zp5flzykz7y5n35kqrlryqkynvrvcw3z-rust-deno-test-= util-0.1.0.drv=E2=80=99 > >> > >> `/gnu/store/ma04jfp0f33kf38cdn66qai60nhqxx7d-rust-deno-test-util-0.1.0= /share/cargo/registry/=E2=80=99 contain the test_util-0.1.0.crate > >> > >> So =E2=80=A6 i added this *.scm* to my *deno/deno-dep* list of package= in the *rust-channel* needed by deno to compile : > >> > >> > >> *My problem is simple?* i added this crate as a dependency of my main = `rust-deno.scm=E2=80=99 : > >> =E2=80=A2 `#:use-module (deno-dep rust-deno-test-util-0-1-0)=E2=80=99 > >> =E2=80=A2 `#:cargo-development-inputs `(((=E2=80=9Crust-deno-test-util= =E2=80=9D, rust-deno-test-util-0.1.0) =E2=80=A6 )=E2=80=99 > >> > >> BUT BUT BUT =E2=80=A6 rust-deno-test-util is not found and not added t= o `/guix-vendor=E2=80=99 > >> during deno crate retrieval, so there is a problem somewhere during pa= ckaging > >> retrieval from local `/gnu/store=E2=80=99. I found in the log that > >> > >> `/gnu/store/8479xfpn9hp2b3kc9d3596kpncan9d8w-rust-deno-test-util-0.1.0= .tar.gz/=E2=80=99 > >> contain the sources and not a `tar.gz=E2=80=99 like others crates. I s= uppose this is > >> part of the problem, but i don=E2=80=99t know how to solve that. > >> > >> See by yourself using : > >> > >> guix time-machine -C channels.scm =E2=80=93 build -f rust-deno.scm > >> > >> that return : > >> > >> error: no matching package named `deno_test_util` found > >> > >> **Info to reproduce** > >> > >> =E2=80=A2 All these package needed by Deno are defined into my-rust ch= annel here : > >> =E2=80=A2 The building and channel scm needed to build deno are here := > >> =E2=80=A2 /Final Warning :/ Deno build (outside rust build) take at le= ast 2 hours on my machine, rusty-v8 is huge and take itself ~30 to 45 minut= es. > >> > >> Any *final* help appreciated ! > >> > >> Best , > >> S=C3=A9bastien Rey-Coyrehourcq > >> > >> > >> S=C3=A9bastien Rey-Coyrehourcq writes: > >> =20 > >> > > >> > Hi, > >> > > >> > Thanks a lot, that helps me to make one more step :) > >> > > >> > I set : > >> > > >> > =E2=94=8C=E2=94=80=E2=94=80=E2=94=80=E2=94=80 > >> > =E2=94=82 (arguments > >> > =E2=94=82 `(#:phases > >> > =E2=94=82 (modify-phases %standard-phases > >> > =E2=94=82 (add-before =E2=80=99configure =E2=80=99set-source > >> > =E2=94=82 (lambda _ > >> > =E2=94=82 (setenv =E2=80=9CV8_FROM_SOURCE=E2=80=9D =E2= =80=9C1=E2=80=9D) > >> > =E2=94=82 (setenv =E2=80=9CRUST_BACKTRACE=E2=80=9D =E2= =80=9C1=E2=80=9D) > >> > =E2=94=82 (setenv =E2=80=9CCLANG_BASE_PATH=E2=80=9D (ge= tenv =E2=80=9CCMAKE_PREFIX_PATH=E2=80=9D)) > >> > =E2=94=82 #t))) > >> > =E2=94=94=E2=94=80=E2=94=80=E2=94=80=E2=94=80 > >> > > >> > I also try C_INCLUDE_PATH > >> > > >> > and native input : > >> > > >> > =E2=94=8C=E2=94=80=E2=94=80=E2=94=80=E2=94=80 > >> > =E2=94=82 (native-inputs (list ninja gn clang-toolchain ccache clan= g)) > >> > =E2=94=94=E2=94=80=E2=94=80=E2=94=80=E2=94=80 > >> > > >> > I have now another problem during compilation of v8, i don=E2=80=99t= understand why =E2=80=9Cclang=E2=80=9D path is not well recognized by the = buildscript, test is defined here : > >> > > >> > > >> > > >> > The backtrace : > >> > > >> > error: failed to run custom build command for `v8 v0.49.0` > >> > > >> > Caused by: > >> > process didn=E2=80=99t exit successfully: `/tmp/guix-build-rust-de= no-1.25.2.drv-0/deno-1.25.2/target/release/build/v8-bbb68ec56db1d802/build-= script-build` (exit status: 101) > >> > =E2=80=94 stdout > >> > cargo:rerun-if-changed=3D.gn > >> > cargo:rerun-if-changed=3DBUILD.gn > >> > cargo:rerun-if-changed=3Dsrc/binding.cc > >> > cargo:rerun-if-env-changed=3DCCACHE > >> > cargo:rerun-if-env-changed=3DCLANG_BASE_PATH > >> > cargo:rerun-if-env-changed=3DDENO_TRYBUILD > >> > cargo:rerun-if-env-changed=3DDOCS_RS > >> > cargo:rerun-if-env-changed=3DGN > >> > cargo:rerun-if-env-changed=3DGN_ARGS > >> > cargo:rerun-if-env-changed=3DHOST > >> > cargo:rerun-if-env-changed=3DNINJA > >> > cargo:rerun-if-env-changed=3DOUT_DIR > >> > cargo:rerun-if-env-changed=3DRUSTY_V8_ARCHIVE > >> > cargo:rerun-if-env-changed=3DRUSTY_V8_MIRROR > >> > cargo:rerun-if-env-changed=3DSCCACHE > >> > cargo:rerun-if-env-changed=3DV8_FORCE_DEBUG > >> > cargo:rerun-if-env-changed=3DV8_FROM_SOURCE > >> > cargo:rustc-link-lib=3Dstatic=3Drusty_v8 > >> > using Chromiums clang > >> > clang_base_path /tmp/guix-build-rust-deno-1.25.2.drv-0/deno-1.25.2= /target/release/clang > >> > > >> > =E2=80=94 stderr > >> > thread =E2=80=99main=E2=80=99 panicked at =E2=80=99called `Result::u= nwrap()` on an `Err` value: Os { code: 2, kind: NotFound, message: =E2=80= =9CNo such file or directory=E2=80=9D }=E2=80=99, /tmp/guix-build-rust-deno= -1.25.2.drv-0/deno-1.25.2/guix-vendor/rust-v8-0.49.0.tar.gz/build.rs:537:6 > >> > stack backtrace: > >> > 0: rust_begin_unwind > >> > 1: core::panicking::panic_fmt > >> > 2: core::result::unwrap_failed > >> > 3: core::result::Result::unwrap > >> > 4: build_script_build::clang_download > >> > 5: build_script_build::build_v8 > >> > 6: build_script_build::main > >> > 7: core::ops::function::FnOnce::call_once > >> > note: Some details are omitted, run with `RUST_BACKTRACE=3Dfull` for= a verbose backtrace. > >> > > >> > Best, > >> > > >> > > >> > Wojtek Kosior writes: > >> > =20 > >> >>> Hi, > >> >>> > >> >>> You=E2=80=99re both right, seems there is a flag to skip binary do= wnloading and > >> >>> compile the V8 lib. > >> >>> > >> >>> [=E2=80=A6] =20 > >> >> > >> >> Good to see you found it :) > >> >> =20 > >> >>> So, my packaging friend :), what=E2=80=99s the best way to push an= =E2=80=9Cexport > >> >>> V8_FROM_SOURCE=3D1=E2=80=9D or something like that into my rust-de= no.scm ? > >> >>> > >> >>> Best, > >> >>> > >> >>> SR =20 > >> >> > >> >> When I first read your question, I did not know the exact function.= But > >> >> I knew where to look. So I thought I=E2=80=99d better share my way = of learning > >> >> rather than just the solution ;) > >> >> > >> >> I started with > >> >> > >> >> grep -R =E2=80=99export=E2=80=99 ~/.config/guix/current/share/g= uile/site/3.0/gnu/packages/ | less > >> >> > >> >> That showed a lot of results. I noticed a line like this > >> >> =20 > >> >>> /home/urz/.config/guix/current/share/guile/site/3.0/gnu/packages/e= ngineering.scm: (setenv =E2=80=9CHOME=E2=80=9D (getcwd)) ;; cma= ke needs this to export modules =20 > >> >> > >> >> Thought it might be the thing I was looking for, so I did > >> >> > >> >> less /home/urz/.config/guix/current/share/guile/site/3.0/gnu/pa= ckages/engineering.scm > >> >> > >> >> and navigated to this line. This seems to be it. The (setenv) funct= ion. > >> >> Can be used as from a modified packaging phase function (as you can= see > >> >> in engineering.scm). > >> >> > >> >> Hope I helped. Good luck once again! > >> >> > >> >> W. > >> >> > >> >> P.S. Make sure you know some =E2=80=99less=E2=80=99 shortcuts if yo= u=E2=80=99re going to do > >> >> things this way. It cad speed things up ^^ > >> >> > >> >> =E2=80=93 (sig_start) > >> >> website: > >> >> PGP: > >> >> fingerprint: E972 7060 E3C5 637C 8A4F 4B42 4BC5 221C 5A79 FD1A > >> >> > >> >> Meet Krak=C3=B3w saints! #12: saint Jadwiga Andegawe=C5= =84ska > >> >> Poznaj =C5=9Bwi=C4=99tych krakowskich! #12: =C5=9Bwi=C4=99ta Jadwi= ga Andegawe=C5=84ska > >> >> > >> >> =E2=80=93 (sig_end) > >> >> > >> >> > >> >> On Wed, 16 Nov 2022 21:38:47 +0100 > >> >> Sebastien Rey-Coyrehourcq = wrote: > >> >> =20 > >> >>> Hi, > >> >>> > >> >>> You=E2=80=99re both right, seems there is a flag to skip binary do= wnloading and > >> >>> compile the V8 lib. > >> >>> > >> >>> From the githubpage () : = =E2=80=9CV8 is > >> >>> very large and takes a long time to compile. Many users will prefe= r to > >> >>> use a prebuilt version of V8. We publish static libs for every ver= sion > >> >>> of rusty v8 on Github . > >> >>> > >> >>> Binaries builds are turned on by default: |cargo build| will initi= ate a > >> >>> download from github to get the static lib. To disable this build = using > >> >>> the |V8_FROM_SOURCE| environmental variable. > >> >>> > >> >>> When making changes to rusty_v8 itself, it should be tested by bui= ld > >> >>> from source. The CI always builds from source=E2=80=9D > >> >>> > >> >>> So, my packaging friend :), what=E2=80=99s the best way to push an= =E2=80=9Cexport > >> >>> V8_FROM_SOURCE=3D1=E2=80=9D or something like that into my rust-de= no.scm ? > >> >>> > >> >>> Best, > >> >>> > >> >>> SR > >> >>> > >> >>> Le 15/11/2022 =C3=A0 08:58, Efraim Flashner a =C3=A9crit=C2=A0: =20 > >> >>> > On Mon, Nov 14, 2022 at 11:30:47PM +0100, S=C3=A9bastien Rey-Coy= rehourcq wrote: =20 > >> >>> >> Hi, > >> >>> >> > >> >>> >> After some day of packaging rust crate, i progress and deno sta= rt to > >> >>> >> compile =E2=80=A6 but after 1min i have this error when cargo s= tart compiling > >> >>> >> *rust-v8-0.49* . Any rust + guix help appreciated. > >> >>> >> > >> >>> >> I push the channel to reproduce the problem here : > >> >>> >> > >> >>> >> The rust scm repo : git.sr.ht:~reyman/rust-channel > >> >>> >> Channel info to put into *channels.scm* : > >> >>> >> The *rust-deno.scm* file to build : > >> >>> >> The command : guix time-machine -C channels.scm =E2=80=93 build= -f rust-deno.scm > >> >>> >> > >> >>> >> And the rust error : > >> >>> >> > >> >>> >> =E2=80=94 > >> >>> >> > >> >>> >> error: failed to run custom build command for `v8 v0.49.0` > >> >>> >> > >> >>> >> Caused by: > >> >>> >> process didn=E2=80=99t exit successfully: `/tmp/guix-build-r= ust-deno-1.25.2.drv-0/deno-1.25.2/target/release/build/v8-bbb68ec56db1d802/= build-script-build` (exit status: 101) > >> >>> >> =E2=80=94 stdout > >> >>> >> cargo:rerun-if-changed=3D.gn > >> >>> >> cargo:rerun-if-changed=3DBUILD.gn > >> >>> >> cargo:rerun-if-changed=3Dsrc/binding.cc > >> >>> >> cargo:rerun-if-env-changed=3DCCACHE > >> >>> >> cargo:rerun-if-env-changed=3DCLANG_BASE_PATH > >> >>> >> cargo:rerun-if-env-changed=3DDENO_TRYBUILD > >> >>> >> cargo:rerun-if-env-changed=3DDOCS_RS > >> >>> >> cargo:rerun-if-env-changed=3DGN > >> >>> >> cargo:rerun-if-env-changed=3DGN_ARGS > >> >>> >> cargo:rerun-if-env-changed=3DHOST > >> >>> >> cargo:rerun-if-env-changed=3DNINJA > >> >>> >> cargo:rerun-if-env-changed=3DOUT_DIR > >> >>> >> cargo:rerun-if-env-changed=3DRUSTY_V8_ARCHIVE > >> >>> >> cargo:rerun-if-env-changed=3DRUSTY_V8_MIRROR > >> >>> >> cargo:rerun-if-env-changed=3DSCCACHE > >> >>> >> cargo:rerun-if-env-changed=3DV8_FORCE_DEBUG > >> >>> >> cargo:rerun-if-env-changed=3DV8_FROM_SOURCE > >> >>> >> cargo:rustc-link-lib=3Dstatic=3Drusty_v8 > >> >>> >> download lockfile: =E2=80=9C/tmp/guix-build-rust-deno-1.25.2= .drv-0/deno-1.25.2/target/release/build/lib_download.fslock=E2=80=9D > >> >>> >> static lib URL: > >> >>> >> cargo:rustc-link-search=3D/tmp/guix-build-rust-deno-1.25.2.d= rv-0/deno-1.25.2/target/release/gn_out/obj > >> >>> >> Downloading > >> >>> >> Python downloader failed, trying with curl. =20 > >> >>> > Looks like you need to patch rust-v8-0.49 to not try to download > >> >>> > librusty_v8_release=E2=80=A6 but instead you=E2=80=99ll have to = build it from source > >> >>> > and let it know where to find it. > >> >>> > =20 > >> >>> >> =E2=80=94 stderr > >> >>> >> thread =E2=80=99main=E2=80=99 panicked at =E2=80=99called `R= esult::unwrap()` on an `Err` value: > >> >>> >> Os { code: 2, kind: NotFound, message: =E2=80=9CNo such file or= directory=E2=80=9D }=E2=80=99, > >> >>> >> /tmp/guix-build-rust-deno-1.25.2.drv-0/deno-1.25.2/guix-vendor/= rust-v8-0.49.0.tar.gz/build.rs:405:10 > >> >>> >> note: run with `RUST_BACKTRACE=3D1` environment variable to = display a backtrace > >> >>> >> warning: build failed, waiting for other jobs to finish=E2=80=A6 > >> >>> >> error: build failed > >> >>> >> error: in phase =E2=80=99build=E2=80=99: uncaught exception: > >> >>> >> %exception #<&invoke-error program: =E2=80=9Ccargo=E2=80=9D arg= uments: (=E2=80=9Cbuild=E2=80=9D =E2=80=9C=E2=80=93release=E2=80=9D) exit-s= tatus: 101 term-signal: #f stop-signal: #f> > >> >>> >> phase `build=E2=80=99 failed after 105.5 seconds > >> >>> >> command =E2=80=9Ccargo=E2=80=9D =E2=80=9Cbuild=E2=80=9D =E2=80= =9C=E2=80=93release=E2=80=9D failed with status 101 > >> >>> >> builder for `/gnu/store/g4m5c558l1q4g1kggzg2v9vkw352nnaj-rust-d= eno-1.25.2.drv=E2=80=99 failed with exit code 1 > >> >>> >> la compilation de /gnu/store/g4m5c558l1q4g1kggzg2v9vkw352nnaj-r= ust-deno-1.25.2.drv a =C3=A9chou=C3=A9 > >> >>> >> Vous trouverez le journal de compilation dans =C2=AB /var/log/g= uix/drvs/g4/m5c558l1q4g1kggzg2v9vkw352nnaj-rust-deno-1.25.2.drv.gz =C2=BB. > >> >>> >> guix build: erreur : build of `/gnu/store/g4m5c558l1q4g1kggzg2v= 9vkw352nnaj-rust-deno-1.25.2.drv=E2=80=99 failed =20 > >> >>> > =20 > >> >> > >> >> =20 > >> > =20 > > > > =20 --Sig_//XRFSs.cqfEtV7AGPMYWHf= Content-Type: application/pgp-signature Content-Description: OpenPGP digital signature -----BEGIN PGP SIGNATURE----- iHUEARYIAB0WIQTpcnBg48VjfIpPS0JLxSIcWnn9GgUCY5oLpQAKCRBLxSIcWnn9 GqE/AQC778gWu/CMhNHWIs1CAV3sCtjI7kZZIEOOx7OzG+20twD/RLB8ahjPPC/4 mTExgmbDarlu4WPdYbGQvR3ELmyZbwc= =qDLB -----END PGP SIGNATURE----- --Sig_//XRFSs.cqfEtV7AGPMYWHf=--