[Top][All Lists]

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

[bug#57111] [PATCH 00/56] gnu: crates-io: Allow build of various rust pa

From: Maxime Devos
Subject: [bug#57111] [PATCH 00/56] gnu: crates-io: Allow build of various rust packages.
Date: Wed, 10 Aug 2022 20:32:30 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.12.0

On 10-08-2022 13:48, Jean Pierre De Jesus DIAZ wrote:
This patch series allows cargo-build-system to fully build and test
some of these packages. These are small rust packages though.

Probably were added without verifying if the crate could get built or
not. So these patches are mostly one liners removing `#:skip-build? #t'.
Maxime I've CCed you as this could relate to antioxidant (as it
requires crates to build, am I right?).

We currently skip-build? #t to reduce build time with the inefficient cargo-build-system. To avoid wasting energy, I recommend delaying such patches until we have a matching _efficient_ build system.

In antioxidant, I've noticed there are often missing dependencies (test-only or otherwise), I have a list '%extra-inputs' that contains the required information for adding them Small sample:

;; TODO: add these (upstream) or teach "guix style" to add them.
;; Keep it sorted to find things in it easily!
(define %extra-inputs
  `(("alacritty" ; forgot the reason for adding the dependency
     (("rust-structopt" ,(p rust-structopt-0.3))))
    ("castor" ;; TODO: add them in upstream Guix
     (("rust-gio" ,(@ (gnu packages crates-gtk) rust-gio-0.14))

Currently, 95% of the rust packages compile (and test successfully, except for tests I've manually disabled), according to the antiox jobset at

As such, you are kind of duplicating work already done.

If you want to help with fixing the build inputs, I recommend using the information (currently 1498 lines) I've already gathered in antioxidant-packages.scm (%extra-inputs), by teaching "guix style" to automatically add dependencies listed in %extra-inputs. Also keep %removed-dependencies and %disable-tests in mind, sometimes crates must _not_ be added, to avoid cycles (those cycles are resolved in cargo-build-system, but cannot be in antioxidant).


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]