Ricardo Wurmus <
address@hidden> ezt írta (időpont: 2018. szept. 7., P 23:51):
It is possible to add a build phase to a non-existing phase without an
error. The new build phase will simply not be executed.
This is problematic when an inherited package augments the original
package’s phases and the original package is changed. Imagine that the
parent package’s “pre-configure” phase is removed:
((#:phases original-phases)
`(modify-phases ,original-phases
(add-after 'pre-configure 'patch-this
(lambda _ …))))
This would cause the “patch-this” phase in the child package to be
skipped without warning.
This kind of thing can be especially confusing in the bootstrap, which
makes heavy use of inheritance.
It would be nice to fix this. Also I have noticed that it is easier to make mistakes when inheritance is involved, but these tend to only break derived packages. I am not aware of a facility to make it easier to build all derived packages. Am I missing something? I guess this would be a useful tool, but not sure about implementation.