python3.pkgs.setuptools-rust: adjust setupHook inclusion condition
Commit e656303867 (PR #467817) made
`setuptools-rust` work automatically in cross compilation scenarios by
replacing `setuptoolsRustBuildHook` with `setuptools-rust.setupHook`.
However it broke builds such as:
```sh
nix build -Lf. pkgsCross.armv7l-hf-multiplatform.buildPackages.python3.pkgs.cryptography
```
As reported here:
https://github.com/NixOS/nixpkgs/pull/467817#issuecomment-3731773060
This adjustment fixes the above build, while also maintaining the
following working:
```sh
nix build -Lf. pkgsCross.armv7l-hf-multiplatform.python3.pkgs.libcst
```
This commit is contained in:
@@ -43,11 +43,16 @@ buildPythonPackage rec {
|
||||
# integrate the setup hook to set up the build environment for cross compilation
|
||||
# this hook is automatically propagated to consumers using setuptools-rust as build-system
|
||||
#
|
||||
# Only include the setup hook if python.pythonOnTargetForTarget is not empty.
|
||||
# No need for the setup hook when python.pythonOnTargetForTarget is empty,
|
||||
# or when the host & target platforms are the same.
|
||||
#
|
||||
# python.pythonOnTargetForTarget is not always available, for example in
|
||||
# pkgsLLVM.python3.pythonOnTargetForTarget. cross build with pkgsLLVM should not be affected.
|
||||
setupHook =
|
||||
if python.pythonOnTargetForTarget == { } then
|
||||
if
|
||||
python.pythonOnTargetForTarget == { }
|
||||
|| (lib.systems.equals stdenv.hostPlatform stdenv.targetPlatform)
|
||||
then
|
||||
null
|
||||
else
|
||||
replaceVars ./setuptools-rust-hook.sh {
|
||||
|
||||
Reference in New Issue
Block a user