On 11 May 2016 at 19:27, Antoine Pitrou <solip...@pitrou.net> wrote: > On Wed, 11 May 2016 17:11:54 +1000 > Nick Coghlan <ncogh...@gmail.com> wrote: >> >> Take the default case: for a distutils/setuptools based project, the >> actual build settings are the arguments to setup() in setup.py, *not* >> these new settings in pyproject.toml. By contrast, the settings in >> [package.build-system] are the ones that tell pip and other installers >> what is needed to make "setup.py bdist_wheel" work (and, in the >> future, will tell them when to invoke something other than "setup.py >> bdist_wheel" to do the binary build) > > Side question: if the build system needs configuring, is a > user-provided configuration file really the best place to do so? > People will end up having to copy and paste a bunch of configuration > directives that are not directly relevant to their own project (also > those directives will need maintaining as a build tool may evolve > its dependencies over time).
When I say "build system configuration" in the context of distutils/setuptools, I mean things like: * MANIFEST.in * non-dependency related setup() arguments (packages, package_dir, py_modules, ext_modules, namespace_packages, entry_points, include_package_data, zip_safe, etc) * the Extension class and its parameters: https://docs.python.org/2/distutils/setupscript.html#describing-extension-modules Those are the settings that actually tell the build system what to build and (in some cases) how to build it. > Alternative: have a single "build system" configuration directive: > > [package.build-system] > > tool = "foopackage:fooexe" > > ... which instructs the runner to install dependency "foopackage", and > then invoking "fooexe" with a single well-known option (e.g. > "--pybuild-bootstrap-config") produces a JSON file on stdout describing > how to invoke precisely the tool for each build scenario (sdist, wheel, > etc.). Specifying alternate build systems likely won't be far behind this PEP (since that's what PEPs 516 and 517 were about), but we decided it made sense to split the two discussions (i.e. figuring out the static configuration basics, then figuring out how to eliminate the need for setup.py shims) Cheers, Nick. -- Nick Coghlan | ncogh...@gmail.com | Brisbane, Australia _______________________________________________ Distutils-SIG maillist - Distutils-SIG@python.org https://mail.python.org/mailman/listinfo/distutils-sig