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 UIsVBac5mmNrpAAAbAwnHQ (envelope-from ) for ; Wed, 14 Dec 2022 22:01:27 +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 qNUoBKc5mmPxigAAG6o9tA (envelope-from ) for ; Wed, 14 Dec 2022 22:01:27 +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 90899223FD for ; Wed, 14 Dec 2022 22:01:26 +0100 (CET) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1p5YsI-0000bz-6k; Wed, 14 Dec 2022 16:01:10 -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 1p5YsG-0000au-4J for help-guix@gnu.org; Wed, 14 Dec 2022 16:01:08 -0500 Received: from smtp-out-2.univ-rouen.fr ([193.52.152.97] helo=mailhoc.univ-rouen.fr) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1p5YsB-0007cj-Qc for help-guix@gnu.org; Wed, 14 Dec 2022 16:01:07 -0500 Received: from localhost (i16-les01-ix2-62-35-41-231.sfr.lns.abo.bbox.fr [62.35.41.231]) (using TLSv1.2 with cipher AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mailhoc.univ-rouen.fr (Postfix) with ESMTPSA id 772DD2445; Wed, 14 Dec 2022 22:00:58 +0100 (CET) From: =?utf-8?Q?S=C3=A9bastien?= Rey-Coyrehourcq To: Wojtek Kosior Cc: zimoun , help-guix@gnu.org Subject: Re: Help packaging R Quarto Cli Date: Wed, 14 Dec 2022 21:41:01 +0100 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> <20221214184509.35c686fd.koszko@koszko.org> User-agent: mu4e 1.8.11; emacs 28.2 In-reply-to: <20221214184509.35c686fd.koszko@koszko.org> Message-ID: <87bko53dko.fsf@univ-rouen.fr> MIME-Version: 1.0 Content-Type: multipart/signed; boundary="===-=-="; micalg=pgp-sha256; protocol="application/pgp-signature" X-Spamd-Bar: ------ X-Rspamd-Server: mailhoc X-Rspamd-Queue-Id: 772DD2445 X-Spamd-Result: default: False [-6.20 / 15.00]; ARC_NA(0.00)[]; FROM_HAS_DN(0.00)[]; RCPT_COUNT_THREE(0.00)[3]; TO_DN_SOME(0.00)[]; TO_MATCH_ENVRCPT_ALL(0.00)[]; TAGGED_RCPT(0.00)[]; MIME_GOOD(-0.20)[multipart/signed,multipart/mixed,text/plain]; REPLY(-4.00)[]; FREEMAIL_ENVRCPT(0.00)[gmail.com]; NEURAL_HAM(-0.00)[-1.000,0]; SIGNED_PGP(-2.00)[]; RCVD_COUNT_ZERO(0.00)[0]; FROM_EQ_ENVFROM(0.00)[]; MIME_TRACE(0.00)[0:+,1:+,2:+,3:+,4:~]; ASN(0.00)[asn:5410, ipnet:62.34.0.0/15, country:FR]; FREEMAIL_CC(0.00)[gmail.com]; MID_RHS_MATCH_FROM(0.00)[] Received-SPF: pass client-ip=193.52.152.97; envelope-from=sebastien.rey-coyrehourcq@univ-rouen.fr; helo=mailhoc.univ-rouen.fr X-Spam_score_int: -41 X-Spam_score: -4.2 X-Spam_bar: ---- X-Spam_report: (-4.2 / 5.0 requ) BAYES_00=-1.9, RCVD_IN_DNSWL_MED=-2.3, 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: , 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=1671051686; h=from:from:sender:sender: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; bh=kvl9O8z47Dt+/BrzRKVwFpiio3/yteUSyRmpWF8aRrU=; b=JgKwWHVV8AMP5vnK+Nnl2JdiiAcPDgnvjYwnwMc0JIJlnJwFo1frVpEyQIUu6sRaFXzidv VfHAAqCNrZIhIyQ+UMFvj2xPjrKjJWu612O5pIGPeYTRRimnJP6vRny+Tkt1TlSRy4eOC/ JnRBWKhiGU7ybUd0bmOqzj4jwsobDnP+VvqLszDZyFpT5yJuXv8/wmGR4gOGT/4hjvhYH0 D0kBtOOb8qvAYvW0I4RdkL0+m/J/8kizxGG30Fd+cndRbWike4I+a94axPJH2Kei5wBINe /H6J7bLZp+e0gvTsTQwu4WW9KjhWQdzputq5BzvyN+f4NB/GaW/oGLNoQREW6g== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=none; 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=none ARC-Seal: i=1; s=key1; d=yhetil.org; t=1671051686; a=rsa-sha256; cv=none; b=NrNH7TOHCz5WznqqOucPimHcp0VHCIIQ5enHCdy3FR3KtZ/n10pgD4UrC33RDYAk7/0+/8 kxQoVxMGbj8Uq83tzscXuonwfvCNx6rIhy+0PGnpSpUJNM+y/4RKfKhoDLboM1SDSnqXzc gQYBvR9NjfyopEiGzKYDwfxmPb1Px6DSFPKMOP1N7v+M98y/+Ag7/aK/iOTiRI+s0/YAT6 mHrE+4A/1OO7MiuTN1Ge60W75AwlfGL28M0kRekG4dBlB4aTumKrsVWgzNZuyTGFaMyhG6 3e8lUemqXhYfqiEgurVGIgPtouxDVMtMhSQa574LqMLKkIBsvUPJ8jRqe1r3zQ== X-Migadu-Spam-Score: -6.17 X-Spam-Score: -6.17 X-Migadu-Queue-Id: 90899223FD X-Migadu-Scanner: scn0.migadu.com Authentication-Results: aspmx1.migadu.com; dkim=none; 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=none X-TUID: 4FSARmmnAP7X --===-=-= Content-Type: multipart/mixed; boundary="=-=-=" --=-=-= Content-Type: multipart/mixed; boundary="==-=-=" --==-=-= Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable Wojtek Kosior writes: >> 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 renamed as > `deno-test-util-checkout-0-1-0=E2=80=99 because i=E2=80=99m only interest= ed by this folder >> >> > > 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=E2=80=99t 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=E2=80=99 in the l= ist : >> > > 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. Yes, i=E2=80=99m not sure this case (source only without crate) is well ma= naged by the actual cargo-build-system ? Anyway, discussions about =E2=80=9CRust Packaging=E2=80=9D on IRC mention t= he building of a new system, something cargo-less. > >> So i suppose this is possible to reuse as a dependency in another build= =E2=80=A6 >> >> This is an intuition but i think i have a problem of ordering in my way = to do things : >> >> When i read the `cargo-build-system=E2=80=99 sources here ( > > ) i see that the build input wait for an /gnu/store link that contain a `= .crate=E2=80=99 > or the equivalent as `tar.gz=E2=80=99 >> >> Or in my case, the /gnu/store link called by cargo contain only sources, > because the `deno-util=E2=80=99 need to be built before creating .crate i= nto the > gnu/store. Perhaps i could cheating the system by providing myself a > `gnu/store/xxxx.tar.gz=E2=80=99 that contain this sources. >> >> Inside my `rust-deno-test-util-1-0-0.scm` file i could `(invoke tar =E2= =80=A6)=E2=80=99 > command to generate a tar.gz at the root of the this folder. Do you think= that > could work ? >> >> 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 deno-test-util-= 0-1-0 > into /gnu/store) when i run build of main rust-deno.scm =E2=80=A6 only th= e source are > present, and not the package resulting from the build of this derivation. >> >> Another way is to first compile deno-test-util.scm, that install the > corresponding crate into /gnu/store, and after that i give this local pat= h to > the inputs of my main rust-deno.scm . But i don=E2=80=99t know how to giv= e this path to > my cargo build system input . > > I=E2=80=99m getting a bit lost in trying to figure out what you think rig= ht > 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 c= orrect > under the assumption that we want test_util to be supplied to deno > build as a separate Guix package. > > It=E2=80=99s perhaps possible to achieve success with this assumption (I = don=E2=80=99t > know) but I wanted to instead suggest not creating a separate Guix > package nor derivation for test_util. That=E2=80=99s what I meant when I = wrote > =E2=80=9Cit seems awkward to be required to provide the test_util package= as a > separate crate=E2=80=9D. Sorry if I accidently mislead you with this. > Yes you=E2=80=99re right, this is probably awkard to maintain. Hum, i will retry. What=E2=80=99s motivating me to try this packaging way i= s the duration of compilation=E2=80=A6 This fail only occur at the test phase, so after 2 hours of compilation=E2= =80=A6 When i use the =E2=80=9C=E2=80=93keep-failed=E2=80=9D option, and run a new= build after fail from the /tmp/guix-deno-xxx/ folder, everything finish we= ll =E2=80=A6 So this is more a problem at frontier between this nested package and =E2= =80=9Ccargo-build-system=E2=80=9D that don=E2=80=99t run some nested crate = build. > 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=E2=80=99s 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 :) > I will revert my code to manage the deno compilation without test phase. My objective is quarto, and i don=E2=80=99t know much about the next obstac= le :) I see later for this nested crate. > Since your rust-deno recipe uses `(method url-fetch)` with > `(crate-uri)`, I=E2=80=99m starting to wonder if the tarball that=E2=80= =99s 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=E2=80=99t? I could > imagine deno devs omitting e.g. `test_util/` from the source tarball > they upload to the crates repo.: As say, the `= deno_root_package/test_util/' folder is well downloaded even with `method u= rl-fetch' > >> How do you reference/call/reuse a package that already exist in your /gn= u/store in a .scm file ? > > You don=E2=80=99t :) > > That=E2=80=99s the point of a functional package manager - there=E2=80=99= s never need > to *explicitly* reference files in the store. They are always referenced > indirectly through packages, derivations, plain-file=E2=80=99s, gexps, et= c. And > they get created or reused automatically. > So you directly say into the scm, passing this unique path `/gnu/store/xxxx= x-deno-util-1-0-1' to input function ?? Thanks for your support and your kind word, that help me to continue :) Best > Wojtek > > =E2=80=93 (sig_start) > website: > PGP: > 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 Maks= ymilian Binkiewicz > > =E2=80=93 (sig_end) > > > On Wed, 14 Dec 2022 17:16:45 +0100 > S=C3=A9bastien Rey-Coyrehourcq = wrote: > >> Wojtek Kosior writes: >> >> >> > Hello again >> > >> > I am impressed with your determination :) >> > >> >> thx :D >> >> > 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.= gz/` >> > or something else should not be relevant to the build. >> > >> >> 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 renamed as > `deno-test-util-checkout-0-1-0=E2=80=99 because i=E2=80=99m only interest= ed by this folder >> >> >> >> I found only one crate that use this method `git-fetch=E2=80=99 in the l= ist : >> >> >> So i suppose this is possible to reuse as a dependency in another build= =E2=80=A6 >> >> This is an intuition but i think i have a problem of ordering in my way = to do things : >> >> When i read the `cargo-build-system=E2=80=99 sources here ( > > ) i see that the build input wait for an /gnu/store link that contain a `= .crate=E2=80=99 > or the equivalent as `tar.gz=E2=80=99 >> >> Or in my case, the /gnu/store link called by cargo contain only sources, > because the `deno-util=E2=80=99 need to be built before creating .crate i= nto the > gnu/store. Perhaps i could cheating the system by providing myself a > `gnu/store/xxxx.tar.gz=E2=80=99 that contain this sources. >> >> Inside my `rust-deno-test-util-1-0-0.scm` file i could `(invoke tar =E2= =80=A6)=E2=80=99 > command to generate a tar.gz at the root of the this folder. Do you think= that > could work ? >> >> 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 deno-test-util-= 0-1-0 > into /gnu/store) when i run build of main rust-deno.scm =E2=80=A6 only th= e source are > present, and not the package resulting from the build of this derivation. >> >> Another way is to first compile deno-test-util.scm, that install the > corresponding crate into /gnu/store, and after that i give this local pat= h to > the inputs of my main rust-deno.scm . But i don=E2=80=99t know how to giv= e this path to > my cargo build system input . How do you reference/call/reuse a package t= hat > already exist in your /gnu/store in a .scm file ? >> >> > 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 usin= g the >> > test_util sources already in the deno tree. >> > >> >> Yeah, but now it=E2=80=99s packaged and the package compile, i try one m= ore time like that :D >> >> > 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? >> >> 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 sometime= s it is the only >> > way to go =C2=AF\_(=E3=83=84)_/=C2=AF >> >> Ahah right, i probably do that if i want to finish in 2022 :D >> >> Best, >> S=C3=A9bastien Rey-Coyrehourcq >> >> > >> > 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 L= udwik Pius Bartosik >> > >> > =E2=80=93 (sig_end) >> > >> > >> > On Wed, 14 Dec 2022 11:30:16 +0100 >> > S=C3=A9bastien Rey-Coyrehourcq wrote: >> > >> >> Hi, >> >> >> >> After two weeks of suffering and pain with this complex rust packagin= g, 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 p= ackage defined > on Deno `/test_util=E2=80=99 folder. This package is not published 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-b= uild-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 packag= e 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-uti= l=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 = to `/guix-vendor=E2=80=99 >> >> during deno crate retrieval, so there is a problem somewhere during p= ackaging >> >> 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 = suppose 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 c= hannel 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 l= east 2 hours on my machine, rusty-v8 is huge and take itself ~30 to 45 minu= tes. >> >> >> >> Any *final* help appreciated ! >> >> >> >> Best , >> >> S=C3=A9bastien Rey-Coyrehourcq >> >> >> >> >> >> S=C3=A9bastien Rey-Coyrehourcq writes: >> >> >> >> > >> >> > 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-sour= ce >> >> > =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 (g= etenv =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 cla= ng)) >> >> > =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=99= t understand > why =E2=80=9Cclang=E2=80=9D path is not well recognized by the buildscrip= t, 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-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 >> >> > 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::= 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: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` fo= r a verbose backtrace. >> >> > >> >> > Best, >> >> > >> >> > >> >> > Wojtek Kosior writes: >> >> > >> >> >>> Hi, >> >> >>> >> >> >>> You=E2=80=99re both right, seems there is a flag to skip binary d= ownloading and >> >> >>> compile the V8 lib. >> >> >>> >> >> >>> [=E2=80=A6] >> >> >> >> >> >> Good to see you found it :) >> >> >> >> >> >>> So, my packaging friend :), what=E2=80=99s the best way to push a= n =E2=80=9Cexport >> >> >>> V8_FROM_SOURCE=3D1=E2=80=9D or something like that into my rust-d= eno.scm ? >> >> >>> >> >> >>> Best, >> >> >>> >> >> >>> SR >> >> >> >> >> >> 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/= guile/site/3.0/gnu/packages/ | less >> >> >> >> >> >> That showed a lot of results. I noticed a line like this >> >> >> >> >> >>> > /home/urz/.config/guix/current/share/guile/site/3.0/gnu/packages/engineer= ing.scm: > (setenv =E2=80=9CHOME=E2=80=9D (getcwd)) ;; cmake needs this to export mo= dules >> >> >> >> >> >> 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/p= ackages/engineering.scm >> >> >> >> >> >> and navigated to this line. This seems to be it. The (setenv) func= tion. >> >> >> Can be used as from a modified packaging phase function (as you ca= n 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 y= ou=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 Jadw= iga Andegawe=C5=84ska >> >> >> >> >> >> =E2=80=93 (sig_end) >> >> >> >> >> >> >> >> >> On Wed, 16 Nov 2022 21:38:47 +0100 >> >> >> Sebastien Rey-Coyrehourcq wrote: >> >> >> >> >> >>> Hi, >> >> >>> >> >> >>> You=E2=80=99re both right, seems there is a flag to skip binary d= ownloading and >> >> >>> compile the V8 lib. >> >> >>> >> >> >>> From the githubpage () : = =E2=80=9CV8 is >> >> >>> very large and takes a long time to compile. Many users will pref= er to >> >> >>> use a prebuilt version of V8. We publish static libs for every ve= rsion >> >> >>> of rusty v8 on Github . >> >> >>> >> >> >>> Binaries builds are turned on by default: |cargo build| will init= iate 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 bu= ild >> >> >>> from source. The CI always builds from source=E2=80=9D >> >> >>> >> >> >>> So, my packaging friend :), what=E2=80=99s the best way to push a= n =E2=80=9Cexport >> >> >>> V8_FROM_SOURCE=3D1=E2=80=9D or something like that into my rust-d= eno.scm ? >> >> >>> >> >> >>> Best, >> >> >>> >> >> >>> SR >> >> >>> >> >> >>> Le 15/11/2022 =C3=A0 08:58, Efraim Flashner a =C3=A9crit=C2=A0: >> >> >>> > On Mon, Nov 14, 2022 at 11:30:47PM +0100, S=C3=A9bastien Rey-Co= yrehourcq wrote: >> >> >>> >> Hi, >> >> >>> >> >> >> >>> >> After some day of packaging rust crate, i progress and deno st= art to >> >> >>> >> compile =E2=80=A6 but after 1min i have this error when cargo = start 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 buil= d -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-rust-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.= drv-0/deno-1.25.2/target/release/gn_out/obj >> >> >>> >> Downloading >> >> >>> >> Python downloader failed, trying with curl. >> >> >>> > 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. >> >> >>> > >> >> >>> >> =E2=80=94 stderr >> >> >>> >> thread =E2=80=99main=E2=80=99 panicked at =E2=80=99called `= Result::unwrap()` on an `Err` value: >> >> >>> >> Os { code: 2, kind: NotFound, message: =E2=80=9CNo such file o= r 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 ar= guments: (=E2=80=9Cbuild=E2=80=9D =E2=80=9C=E2=80=93release=E2=80=9D) exit-= status: 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-= deno-1.25.2.drv=E2=80=99 failed with exit code 1 >> >> >>> >> la compilation de /gnu/store/g4m5c558l1q4g1kggzg2v9vkw352nnaj-= rust-deno-1.25.2.drv a =C3=A9chou=C3=A9 >> >> >>> >> Vous trouverez le journal de compilation dans =C2=AB /var/log/= guix/drvs/g4/m5c558l1q4g1kggzg2v9vkw352nnaj-rust-deno-1.25.2.drv.gz =C2=BB. >> >> >>> >> guix build: erreur : build of `/gnu/store/g4m5c558l1q4g1kggzg2= v9vkw352nnaj-rust-deno-1.25.2.drv=E2=80=99 failed >> >> >>> > >> >> >> >> >> >> >> >> > >> > >> > > > --==-=-=-- --=-=-=-- --===-=-= Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQJcBAEBCABGFiEEQdBRWS1ZqcB6tN8l3FXLa3BDQW4FAmOaOYcoHHNlYmFzdGll bi5yZXktY295cmVob3VyY3FAdW5pdi1yb3Vlbi5mcgAKCRDcVctrcENBbqxdEACe g6r1lZaNvq+zWbcTHjfBFfsSK5pub3Bby1czzk2aj6j/e5kdRGEsy9nStZGSI8Pv uLxbHmmxN6vqB6bxot8mqkVyUic0Fcro3kH5/1K8zn5WfBytoYG69kFAKfFfyipK eq/z7DZOWPv7ftw3B7tYE0AB2bpPV7D8Fw0E/y/QIJsYhqaKhRUVlSPk7F5Cq49t ik0Zz/e/AA5DbNDIyAEsyfbraYTSBYadLEQ9ONU6WbqhfyJD6YKGwGKC30goDvZY 06aYy7f753FNITnUGKZL99pjK/2hLqJhJzs5KB0oxxj7nmk36JhtKslC0wSR2QUV vqYVMUBfvJpU3bDhN5OQivZWsNAUQypV727mXpzZ40/tagDbOHaV8/hsx+FYG5ob ToNsAzFTBpTHWjnu47AxJMskURfOAHtvYdtAGd38tmoqPqKgewRyhAYBrCWVKT+t 44uypr4EOeMikY+fbN7FimmmKM5zEMPuKH2qyjmrqcEQyDK2D0j1GhTLVEWRg6LY OFA7QWGWmQ2VBQxKSOzpHlVyPTo/IncQp/whJxRRm6gGzDUAxbLLtg7DBwiieugn kqX2jvSL2i3b2ilHBxTy3yCvfroxffkTVG+ClRuW3ayh6hn+EqwjLqKDsLYUH7r3 J4pqtmbRjvye7laZYXgzb8DjX14heRLExZMBeqWmUA== =2FP0 -----END PGP SIGNATURE----- --===-=-=--