Hi, ilmu <i...@rishi.is> skribis:
> To drive the point home: If the artefact has the same hash as it did before > then clearly the underlying change did not affect it. Early cut-off is > therefore not possible in the case where the program being depended on is > supposed to be used at runtime. > > This is at least how I am thinking about it, I think this would be a good > incremental improvement on the state of the art but it would still have these > limitations. What’s currently implemented is memoization: the hash (of the .drv and that of the output(s)) is computed over all the inputs. Since the output file name (the one passed to “./configure --prefix” & co.) appears in the build result 99% of the time, the content vary at least due to occurrences of the output file name. Thus, content comparison are not doable as is. What would help is content comparison _modulo_ output file name(s). But again, “same hash as it did before” is a framing that doesn’t hold in a purely functional, stateless context. Ludo’.