[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.
OpenPGP_0x49E3EE22191725EE.asc
Description: OpenPGP public key
OpenPGP_signature
Description: OpenPGP digital signature