about summary refs log tree commit diff
path: root/pkgs/development/interpreters
diff options
context:
space:
mode:
authorgithub-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>2024-02-25 18:01:23 +0000
committerGitHub <noreply@github.com>2024-02-25 18:01:23 +0000
commit41e7732291b75b59f4a74721c24ac0fe5c31a24d (patch)
tree7071c135bb5da13417c0340e0cce073573ce38ca /pkgs/development/interpreters
parent991ec05997c74dd8158394db77e1164bb31388be (diff)
parentf42891a2fa716dcab10336a1b7313993430568ea (diff)
downloadnixlib-41e7732291b75b59f4a74721c24ac0fe5c31a24d.tar
nixlib-41e7732291b75b59f4a74721c24ac0fe5c31a24d.tar.gz
nixlib-41e7732291b75b59f4a74721c24ac0fe5c31a24d.tar.bz2
nixlib-41e7732291b75b59f4a74721c24ac0fe5c31a24d.tar.lz
nixlib-41e7732291b75b59f4a74721c24ac0fe5c31a24d.tar.xz
nixlib-41e7732291b75b59f4a74721c24ac0fe5c31a24d.tar.zst
nixlib-41e7732291b75b59f4a74721c24ac0fe5c31a24d.zip
Merge staging-next into staging
Diffstat (limited to 'pkgs/development/interpreters')
-rw-r--r--pkgs/development/interpreters/python/catch_conflicts/catch_conflicts.py3
-rw-r--r--pkgs/development/interpreters/python/hooks/python-catch-conflicts-hook-tests.nix9
2 files changed, 11 insertions, 1 deletions
diff --git a/pkgs/development/interpreters/python/catch_conflicts/catch_conflicts.py b/pkgs/development/interpreters/python/catch_conflicts/catch_conflicts.py
index d4219192790b..ad679d9f9f99 100644
--- a/pkgs/development/interpreters/python/catch_conflicts/catch_conflicts.py
+++ b/pkgs/development/interpreters/python/catch_conflicts/catch_conflicts.py
@@ -57,7 +57,8 @@ def find_packages(store_path: Path, site_packages_path: str, parents: List[str])
         with open(propagated_build_inputs, "r") as f:
             build_inputs: List[str] = f.read().strip().split(" ")
             for build_input in build_inputs:
-                find_packages(Path(build_input), site_packages_path, parents + [build_input])
+                if build_input not in parents:
+                    find_packages(Path(build_input), site_packages_path, parents + [build_input])
 
 
 find_packages(out_path, site_packages_path, [f"this derivation: {out_path}"])
diff --git a/pkgs/development/interpreters/python/hooks/python-catch-conflicts-hook-tests.nix b/pkgs/development/interpreters/python/hooks/python-catch-conflicts-hook-tests.nix
index f3d9235799e0..cba1034e0963 100644
--- a/pkgs/development/interpreters/python/hooks/python-catch-conflicts-hook-tests.nix
+++ b/pkgs/development/interpreters/python/hooks/python-catch-conflicts-hook-tests.nix
@@ -78,6 +78,15 @@ in {
       ];
     };
 
+  # multi-output derivation with dependency on itself must not crash
+  cyclic-dependencies =
+    generatePythonPackage {
+      pname = "cyclic-dependencies";
+      preFixup = ''
+        propagatedBuildInputs+=("$out")
+      '';
+    };
+
   # Simplest test case that should trigger a conflict
   catches-simple-conflict = let
     # this build must fail due to conflicts