GNU bug report logs - #57111
[PATCH 00/56] gnu: crates-io: Allow build of various rust packages.

Previous Next

Package: guix-patches;

Reported by: Jean Pierre De Jesus DIAZ <me <at> jeandudey.tech>

Date: Wed, 10 Aug 2022 11:49:01 UTC

Severity: normal

Tags: patch

Done: Efraim Flashner <efraim <at> flashner.co.il>

Bug is archived. No further changes may be made.

Full log


Message #176 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Maxime Devos <maximedevos <at> telenet.be>
To: Jean Pierre De Jesus DIAZ <me <at> jeandudey.tech>,
 "guix-patches <at> gnu.org" <guix-patches <at> gnu.org>
Subject: Re: [PATCH 00/56] gnu: crates-io: Allow build of various rust
 packages.
Date: Wed, 10 Aug 2022 20:32:30 +0200
[Message part 1 (text/plain, inline)]
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 ci.guix.gnu.org.

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).

Greetings,
Maxime.


[OpenPGP_0x49E3EE22191725EE.asc (application/pgp-keys, attachment)]
[OpenPGP_signature (application/pgp-signature, attachment)]

This bug report was last modified 1 year and 50 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.