unofficial mirror of guix-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: Maxime Devos <maximedevos@telenet.be>
To: jgart <jgart@dismail.de>
Cc: Guix Devel <guix-devel@gnu.org>
Subject: Re: how does antioxidant work?
Date: Sat, 10 Sep 2022 18:17:50 +0200	[thread overview]
Message-ID: <037b7b3c-68dd-44c9-22f1-806719c9383a@telenet.be> (raw)
In-Reply-To: <20220910095021.GB31374@dismail.de>


[-- Attachment #1.1.1: Type: text/plain, Size: 1613 bytes --]



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 #1.1.2: OpenPGP public key --]
[-- Type: application/pgp-keys, Size: 929 bytes --]

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 236 bytes --]

  reply	other threads:[~2022-09-10 16:22 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-09-08  1:17 how does antioxidant work? jgart
2022-09-08 10:03 ` Maxime Devos
2022-09-10 14:50   ` jgart
2022-09-10 16:17     ` Maxime Devos [this message]
2022-09-10 17:38       ` jgart
2022-09-10 18:15         ` Maxime Devos

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://guix.gnu.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=037b7b3c-68dd-44c9-22f1-806719c9383a@telenet.be \
    --to=maximedevos@telenet.be \
    --cc=guix-devel@gnu.org \
    --cc=jgart@dismail.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).