Subject: Re: [bug#35155] [PATCH] build-system/cargo: refactor phases to successfully build

From: Danny Milosavljevic <[email-masked]>
Date: Sat, 6 Apr 2019 12:32:34 +0200

Hi Ivan,

good idea.

(Finally the hack with the Cargo.lock is gone :) )

>There are many system specific
> package in crates.io (e.g. for Windows, Redox, Fuschia, WASM, etc.) and
> attempting to keep up with what crates must be patched out is futile.

I agree.

> * The build phases will honor a skip-build? flag which allows for
> short-circuiting for optional packages which require nightly features or cannot
> be built for the current platform.

Ok, I guess.

> Changes which still need to be done:
> * Update the host-side code to expand transitive inputs: cargo requires that
> all transitive crate dependencies are present in its (vendored) index, but
> doing so by hand in the package definitions will become unwieldy.

Yeah.  Let's do that in an extra patch.

> * Update the host-side code to detect any "circular" dependencies which can
> result from a naive import

Yeah.

> Unfortunately there isn't a good way to test this patch at the moment.
> Importing a non-trivial crate requires a lot of manual resolution, especially
> with the points above remaining unimplemented.

> If someone would really like to see the input package definitions I was using
> to test, I'd be happy to share, though I'd advise that it's pretty hacked up
> for my own convoluted testing at the moment.

No, I can use my own set of hacked-together package definition to test it.

(The state of my hacked-together package definitions is not good enough to merge :) )