From: Maxime Devos <maximedevos@telenet.be>
To: Hartmut Goebel <h.goebel@crazy-compilers.com>, guix-devel@gnu.org
Cc: Martin Becze <mjbecze@riseup.net>
Subject: Re: Building hexyl (a rust app) without cargo, with antioxidant-build-system
Date: Tue, 05 Apr 2022 18:10:19 +0200 [thread overview]
Message-ID: <e6267d48c7466d2879f09f8d6b9d5fcd6584e989.camel@telenet.be> (raw)
In-Reply-To: <547b56ea0a2a714029415385abaaed726fd02074.camel@telenet.be>
[-- Attachment #1: Type: text/plain, Size: 2291 bytes --]
Maxime Devos schreef op za 02-04-2022 om 17:18 [+0200]:
> * makes a few assumptions on the source layout (can be fixed
> by using more info from Cargo.toml)
This has now been partially resolved. It now looks in Cargo.toml to
determine where Rusts's equivalent of 'configure' (build.rs) is
located, and the Cargo.toml can now override the default src/lib.rs.
Some other improvements that weren't announced previously:
* The code now automatically detects cycles and reports which
packages are involved in the cycle.
* --edition (cf. -std=c11/c99/...) is set appropriately, depending on
Cargo.toml, fixing some build failures.
* All default 'features' (in Cargo.toml) are now enabled by default.
* Package definitions can request non-default features to be built
anyway.
A difference from cargo-build-system: features are set in the
package of the rust crate, not the package using the rust crate.
* build.rs is now run, which reduces the number of features that need
to be set manually.
* proc-macro crates are now named .so instead of .rlib, apparently
naming them .rlib even though they aren't .rlibs confuses rustc
or something.
* #[deny(warnings)] (rust's equivalent of -Werrors) is now ignored
(FWIW this is done by cargo as well).
* Conversion from cargo-build-system to antioxidate-build-system is
now automated by a recursive 'vitaminate/auto' procedure and some
ad-hoc cycle breaking.
Some things that could perhaps be moved to (upstream) Guix:
* Sometimes test and build.rs dependencies are listed in
#:cargo-inputs and #:cargo-development-inputs (e.g.
rust-quickcheck, rust-cc). I deleted the test dependencies
(because they contribute to cycles and for now running tests
isn't supported anyways).
Maybe they can be moved to #:cargo-development-inputs upstream
(untested)? Extending 'check-inputs-should-be-native' would also
be nice too ...
* There's a cycle between rust-backtrace-sys and rust-cc can be
eliminated by deleting build.rs and tweaking Cargo.toml, at cost
of losing some support for Android (which is not supported by Guix
except in the sense that Linux is supported).
Greetings,
Maxime
[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 260 bytes --]
next prev parent reply other threads:[~2022-04-05 16:11 UTC|newest]
Thread overview: 22+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-03-31 11:55 Removing #:skip-build? from the crate importer? Maxime Devos
2022-03-31 19:47 ` Hartmut Goebel
2022-03-31 20:06 ` Compiling rust things without cargo (super WIP POC) Maxime Devos
2022-04-01 6:58 ` Brendan Tildesley
2022-04-01 9:10 ` Ludovic Courtès
2022-04-01 10:05 ` Maxime Devos
2022-04-01 10:08 ` Maxime Devos
2022-04-02 15:01 ` Hartmut Goebel
2022-04-02 9:29 ` Maxime Devos
2022-04-05 12:08 ` Ludovic Courtès
2022-04-02 15:18 ` Building hexyl (a rust app) without cargo, with antioxidant-build-system Maxime Devos
2022-04-05 16:10 ` Maxime Devos [this message]
2022-04-06 15:49 ` Hartmut Goebel
2022-04-06 16:06 ` Maxime Devos
2022-05-30 8:23 ` Efraim Flashner
2022-05-30 13:37 ` raingloom
2022-05-30 15:15 ` Maxime Devos
2022-04-02 15:19 ` Compiling rust things without cargo (super WIP POC) Hartmut Goebel
-- strict thread matches above, loose matches on Subject: below --
2022-04-04 5:10 Building hexyl (a rust app) without cargo, with antioxidant-build-system Brendan Tildesley
2022-04-04 9:26 ` Maxime Devos
2022-04-05 22:28 ` raingloom
2022-04-06 10:10 ` 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=e6267d48c7466d2879f09f8d6b9d5fcd6584e989.camel@telenet.be \
--to=maximedevos@telenet.be \
--cc=guix-devel@gnu.org \
--cc=h.goebel@crazy-compilers.com \
--cc=mjbecze@riseup.net \
/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).