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:
Doron Behar
2026-01-14 19:08:30 +02:00
parent 4e0181205d
commit 9384d60317
@@ -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 {