Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Python: introduce toPythonApplication function #36252

Merged
merged 1 commit into from Mar 10, 2018

Conversation

FRidh
Copy link
Member

@FRidh FRidh commented Mar 3, 2018

This commit introduces the toPythonApplication function. Certain
Python packages are considered both a library and an application, that
is, they expose importable modules, but typically executables that are
part of the package are used instead.

In this case, the package needs to be added to python-packages.nix in
order for it to be available as a library. An alias with this function
can then be added in all-packages.nix, e.g.:

ansible = with pythonPackages; toPythonApplication ansible;
Motivation for this change

See NixOS/rfcs#24.

Things done
  • Tested using sandboxing (nix.useSandbox on NixOS, or option build-use-sandbox in nix.conf on non-NixOS)
  • Built on platform(s)
    • NixOS
    • macOS
    • other Linux distributions
  • Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
  • Tested compilation of all pkgs that depend on this change using nix-shell -p nox --run "nox-review wip"
  • Tested execution of all binary files (usually in ./result/bin/)
  • Fits CONTRIBUTING.md.

This commit introduces the `toPythonApplication` function. Certain
Python packages are considered both a library and an application, that
is, they expose importable modules, but typically executables that are
part of the package are used instead.

In this case, the package needs to be added to `python-packages.nix` in
order for it to be available as a library. An alias with this function
can then be added in `all-packages.nix`, e.g.:

```
ansible = with pythonPackages; toPythonApplication ansible;
```
@7c6f434c
Copy link
Member

7c6f434c commented Mar 3, 2018

I think you said something about also removing propagation of build inputs?

@FRidh
Copy link
Member Author

FRidh commented Mar 3, 2018

Correct, but that's another step for after 18.03.

@7c6f434c
Copy link
Member

7c6f434c commented Mar 3, 2018

Ah, nice.

@FRidh FRidh merged commit 00e50c2 into NixOS:master Mar 10, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants