all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Maxime Devos <maximedevos@telenet.be>
To: kiasoc5@disroot.org, guix-devel@gnu.org
Cc: "Ludovic Courtès" <ludo@gnu.org>
Subject: Re: antioxidant-build-system can be tested as a channel, + >  GTK app 'castor' builds
Date: Tue, 31 May 2022 20:16:24 +0200	[thread overview]
Message-ID: <dd9a5cd81555f05d6cc7cbe364cdaa3e58d6593a.camel@telenet.be> (raw)
In-Reply-To: <c8fc3bb618029f90231cd2d5a069177f0615c8ba@disroot.org>

[-- Attachment #1: Type: text/plain, Size: 1844 bytes --]

kiasoc5@disroot.org schreef op di 31-05-2022 om 17:45 [+0000]:
> Hi Maxime,
> 
> > 
> > Non-goals:
> > 
> > * Produce exactly the same binaries with exactly the same dependencies as with
> > Cargo. If you want to reproduce a binary produced with Cargo, use Cargo.
> > 
> 
> If I compile project P to produce binary A (with antioxidant) and binary C
> (with Cargo), will A and C have the same functionality?

If nothing weird is going on, yes.  Though antioxidant and Cargo have
different methods for selecting ‘features’, so a creative Rust app
author could engineer things such that when compiled with Cargo, the
app prints "hello cargo" and when compiled with antioxidant, it prints
"hello antioxidant".

I expect such situations to be the exception though, and if such a
thing happens, a $GUIX_PACKAGER could manually choose the right set of
‘features’ and put an outdated dependency in inputs/native-inputs if
needed.

That said, I haven't ‘tried out’ many of the Rust apps, mostly only
built them.

> And for dependencies not being the same, is this just limited to using the latest version of crates instead of following the versions in Cargo.toml?

If you feed antioxidant-build-system the exact same versions
of dependencies as specified in Cargo, in principle you should
get something equivalent (except maybe for feature flags because
antioxidant has a different procedure for automatically selecting
feature flags, but if you really want to, you as writer of the
package definition could manually pick the features such that they
match 100% with those that Cargo would have picked).

However, the package transformation procedures in the antioxidant
channel for turning Cargo packages into antioxidant packages currently
often just select the latest version.

Greetings,
Maxime

[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 260 bytes --]

  reply	other threads:[~2022-05-31 18:46 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-05-31 17:45 antioxidant-build-system can be tested as a channel, + > GTK app 'castor' builds kiasoc5
2022-05-31 18:16 ` Maxime Devos [this message]
  -- strict thread matches above, loose matches on Subject: below --
2022-05-23 14:22 antioxidant-build-system can be tested as a channel, + " Maxime Devos
2022-05-30 15:26 ` Ludovic Courtès
2022-05-30 15:31   ` Maxime Devos
2022-05-31  9:27   ` Maxime Devos
2022-05-31 11:06     ` Maxime Devos
2022-06-02 16:41     ` Maxime Devos
2022-06-02 20:20     ` 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

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

  git send-email \
    --in-reply-to=dd9a5cd81555f05d6cc7cbe364cdaa3e58d6593a.camel@telenet.be \
    --to=maximedevos@telenet.be \
    --cc=guix-devel@gnu.org \
    --cc=kiasoc5@disroot.org \
    --cc=ludo@gnu.org \
    /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 external index

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

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.