guix-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: how does antioxidant work?


From: Maxime Devos
Subject: Re: how does antioxidant work?
Date: Sat, 10 Sep 2022 18:17:50 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.12.0



On 10-09-2022 16:50, jgart wrote:
On Thu, 08 Sep 2022 12:03:36 +0200 Maxime Devos <maximedevos@telenet.be> wrote:
There are also some other small things with some checks for vendoring,
#:test-options

Cool! Will this build system support rust development with guix or it's
only for packaging end user rust apps?

You can already do things like

$ guix build -f file-containing-a-definition-of-the-rust-library.scm

As how antioxidant treats dependencies is similar to, say, python-build-system and gnu-build-system, the previously compiled dependencies of the library will be reused.

Unlike C, the configure scripts (‘build.rs’ in Rust), when they exist, they do very little work. For many libraries, the compile time is usually short (on the order of, say, a most dozen seconds (*), at least on my local computer and not counting tests) (**).

As such, a ‘setup package.scm to use a recursive local-file as origin, modify source files, do "guix build -f package.scm"’ should be feasible (**). I wouldn't know how it compares to Cargo though, I never used that.

(*) Note: I haven't actually timed it. Also, if you adjust the optimisation level to something lower and non-LTO, it should in theory decrease.
(**) With some exceptions, e.g. rust-proptest takes long to compile.

Caveat: the ‘examples’ and ‘benchmarks’ functionality is unlikely to be implemented by me (even though they may be useful for development) as they don't bring much value to Guix packaging. [insert the usual patches welcome here]

Greetings,
Maxime.

Attachment: OpenPGP_0x49E3EE22191725EE.asc
Description: OpenPGP public key

Attachment: OpenPGP_signature
Description: OpenPGP digital signature


reply via email to

[Prev in Thread] Current Thread [Next in Thread]