unofficial mirror of guix-devel@gnu.org 
 help / color / mirror / code / Atom feed
* Removing #:skip-build? from the crate importer?
@ 2022-03-31 19:07 Liliana Marie Prikler
  2022-03-31 19:14 ` Maxime Devos
  0 siblings, 1 reply; 6+ messages in thread
From: Liliana Marie Prikler @ 2022-03-31 19:07 UTC (permalink / raw)
  To: maximedevos; +Cc: guix-devel

Hi Maxime,

similar discussions have been had in the past, but thanks for raising
them again.  As far as I'm aware, the "consensus" – if it can be called
such – is that due to Rust packages often being a giant nothing burger
both in terms of what they actually do and in what can be used for
subsequent builds, but still generating a lot of hot air literally when
evaluated on CI, we ought to skip the build in intermediate packages.

There are a few counter-proposals.  One suggestion that has been
raised, but not yet implemented, would be to make it so that build
results can actually be reused.  This is the most promising
conceptually, but from what I can gather from those working on it might
not be that easy to pull off.  Another one I recently thought about
myself would be to demote these packages to origins, which they in fact
are.  This could fairly easily be done by simply allowing an optional
license field in origins, but we'd have to apply a special trick to get
back the recursive unpacking.  Basically, what we'd have to do is for
e.g. rust-serde, (define rust-serde (append (list rust-serde-origin)
other-origins ...) where other-origins ... are the "packages" rust-
serde pulls in, add those to inputs via append and then unpack all of
them in an "unpack-all-those-crates" phase to be added to cargo-build-
system.  I am probably missing further proposals that have been made
over time.

In any case, #:skip-build? is far from being the right thing we
typically aim for, and I support every attempt to remove it that allows
us to meet our climate goals.

Cheers


^ permalink raw reply	[flat|nested] 6+ messages in thread
* Removing #:skip-build? from the crate importer?
@ 2022-03-31 11:55 Maxime Devos
  2022-03-31 19:47 ` Hartmut Goebel
  0 siblings, 1 reply; 6+ messages in thread
From: Maxime Devos @ 2022-03-31 11:55 UTC (permalink / raw)
  To: guix-devel; +Cc: Martin Becze

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

Hi guix,

Often, when new rust package definitions are submitted at guix-
patches@, I see #:skip-build? #false.  Apparently it's added by default
in (guix import cargo), with some exceptions.  However, ‘(guix)Rust
Crates’ states:

   Care should be taken to ensure the correct version of dependencies
are used; to this end we try to refrain from skipping the tests or
using ‘#:skip-build?’ when possible. Of course this is not always
possible [...]

so I respond by asking to remove #:skip-build?.

As such, WDYT of removing #:skip-build? #false from (guix import
crate)?  FWIW, this was added in commit
269c1db41bd82f93c7ae5c62a4969a423e556183 to (guix import crate)?

Greetings,
Maxime.

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

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2022-04-02 10:53 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-03-31 19:07 Removing #:skip-build? from the crate importer? Liliana Marie Prikler
2022-03-31 19:14 ` Maxime Devos
2022-04-02  9:45   ` Hartmut Goebel
2022-04-02 10:53     ` Maxime Devos
  -- strict thread matches above, loose matches on Subject: below --
2022-03-31 11:55 Maxime Devos
2022-03-31 19:47 ` Hartmut Goebel

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