(alias
 (name package-cycle)
 (deps (package a) (package b)))

(alias
 (name simple-repro-case)
 (deps x y))

(rule (copy %{read:u} y))
(rule (copy %{read:v} x))

(rule (with-stdout-to u (system "printf x")))
(rule (with-stdout-to v (system "printf y")))

(rule (progn (copy x2 x1) (cat x4)))
(rule (copy x3 x2))
(rule (copy %{read:x3-x2-dyn-dep} x3))
(rule (copy x3 x4))

(rule (with-stdout-to x3-x2-dyn-dep (system "printf x2")))
