Tested by temporarily setting `meta.broken = true;` in
`mk-poetry-dep.nix`, and then
$ nix-build tools -A env
error: Package ‘python3.9-click-8.1.3’ in /home/user/h/poetry2nix/tools/poetry.lock:0 is marked as broken, refusing to evaluate.
a) To temporarily allo[...]
As you can see, the location of the lock file is reported, which
is especially useful in Nixpkgs, which contains multiple lockfiles.
This used to be just the location of a generic python builder, which
is generally not what the user wants.
I've exposed the `poetrylockPos` variable as a parameter that callers
may set. This is intended as a contingency more so than a feature that
is useful to users. That's why I've decided not to document it,
because it would just add noise.
- normalize package names to match PEP-503
- don't assume build dependencies on setuptools{,-scm}
- automatically generate overrides for setuptools{,-scm}
- pull known build systems directly from nixpkgs
- fix a bunch of mostly unrelated warnings
Co-authored-by: Phillip Cloud <417981+cpcloud@users.noreply.github.com>
See these docs: 99c7956835/README.md (L86)
They say that any dependency passed as `null` is forced to be non editable, even if it is marked as `develop = true` in `pyproject.toml`.
However, this was not being the case.
Added a test to prove the need for the fix.
@moduon MT-83
With the recent addition of develop=true being installed as editable by default we need a way to opt out of installing sources as editable.
This is done by explicitly passing an attrset with null as the path value.
They are not useful and will will fail to build in some cases, like the case where they depend on another package also being added as an editable source.
This is a function taking a Python package set and returning a list of extra packages to include in the environment. This is intended for packages deliberately not added to `pyproject.toml` that you still want to include. An example of such a package may be `pip`.