-
-
Notifications
You must be signed in to change notification settings - Fork 15.1k
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
python3Packages.cryptography: 3.3.2 -> 3.4.2 #112402
Conversation
Backwards incompatible changes: Support for Python 2 has been removed. Note: This isn't a problem for Nixpkgs because pythonPackages.cryptography is frozen at version 3.3.2. Other important packaging changes: "Cryptography now incorporates Rust code. Users building cryptography themselves will need to have the Rust toolchain installed. Users who use an officially produced wheel will not need to make any changes. The minimum supported Rust version is 1.45.0." Note: Fetching Rust dependencies via Cargo during a Python build will likely be a challenge for Nixpkgs. For Cryptography 3.4.x we can disable the Rust support but that is only a temporarily supported workaround.
a626116
to
eec8ba6
Compare
@GrahamcOfBorg build python3Packages.cryptography |
@@ -35,15 +34,13 @@ buildPythonPackage rec { | |||
cffi | |||
]; | |||
|
|||
buildInputs = [ openssl ] | |||
buildInputs = [ openssl setuptools-rust ] |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
if this isn't meant to be used at runtime, it should probably go into nativeBuildInputs
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I was actually never sure about this for buildPythonPackage
. Is our manual outdated in this regard?
Because e.g. https://nixos.org/manual/nixpkgs/unstable/#python ("15.20.1.2.2. Handling dependencies") states:
According to the manual, buildPythonPackage uses the arguments buildInputs and propagatedBuildInputs to specify dependencies. If something is exclusively a build-time dependency, then the dependency should be included in buildInputs, but if it is (also) a runtime dependency, then it should be added to propagatedBuildInputs. Test dependencies are considered build-time dependencies and passed to checkInputs.
(I'm also not sure if "According to the manual" in the manual is an accidental self-reference :D)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@jonringer @FRidh should setuptools-rust
be part of nativeBuildInputs
or buildInputs
now?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
nativeBuildInputs
About the rust code #83614. |
I think #112500 is as good as done, so I suggest we go forward with that one. |
Ok, awesome! Closing this PR then :) |
Backwards incompatible changes: Support for Python 2 has been removed.
Note: This isn't a problem for Nixpkgs though because
pythonPackages.cryptography is frozen at version 3.3.2.
Other important packaging changes: "Cryptography now incorporates Rust
code. Users building cryptography themselves will need to have the Rust
toolchain installed. Users who use an officially produced wheel will not
need to make any changes. The minimum supported Rust version is 1.45.0."
Note: Fetching Rust dependencies via Cargo during a Python build will
likely be a challenge for Nixpkgs. For Cryptography 3.4.x we can disable
the Rust support but that is only a temporarily supported workaround.
Motivation for this change
Things done
sandbox
innix.conf
on non-NixOS linux)nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
./result/bin/
)nix path-info -S
before and after)