Commit 9384d603 authored by Doron Behar's avatar Doron Behar
Browse files

python3.pkgs.setuptools-rust: adjust setupHook inclusion condition

Commit e6563038 (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
```
parent 4e018120
Loading
Loading
Loading
Loading
+7 −2
Original line number Diff line number Diff line
@@ -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 {