#integrators

1 messages ยท Page 1 of 1 (latest)

vocal kettle
#

๐Ÿ‘‹

vocal kettle
#

@tribal prawn I'm trying to get caught up on the bootstrapping discussion you pinged us on but it may take me a while as things are busy... is there some particular question you want answered? ๐Ÿ™‚

tribal prawn
#

Hi Todd. Welcome. I'm trying to find a way for build backends to have dependencies, which inherently leads to self-dependency. I've put together a proposal (https://hackmd.io/@jaraco/SJSQ40tv0) that proposes that a pure from source build provide pre-built artifacts for build backends to bootstrap them such that they can have dependencies. You were the first to introduce me to this problem at HackIllinois years ago when Setuptools was attempting to declare its dependencies and it was breaking Spack. I'm hoping this proposal (specifically the Design section) provides a path to a solution, but it requires some coordination with system integrators. Please have a look at that proposal or at least the Design section and let me know your thoughts. Thanks.

#

The question, specifically, is can Spack adopt this approach?

#

I do have other avenues to explore, so I'm not making any changes now, but I am seeking to solve this problem once and for all by documenting a strategy for all build backends and integrators.

tribal prawn
#

The discussion has progressed on the bug (https://github.com/pypa/packaging-problems/issues/342#issuecomment-2260878959), and I'm exploring the first of the two Alternatives Considered in the proposal, namely to use source artifacts from Git or sdists. I'm thinking this approach, while slightly more maintenance, better honors the "pure from source" builds while avoiding bootstrapping issues. An integrator would use this technique for any library that's a build backend or a dependency (build or runtime) of a build backend.

GitHub

In this comment, @pfmoore suggests that we may need to re-think --no-binary, specifically around wheel but more generally around any or all build dependencies. In pypa/pip#7831, we've essential...