zimoun <zimon.touto...@gmail.com> writes: > Indeed, there is a bug. Because the source of ’icecat’ raises a case > that is not handled by ’check-archival’ in (guix lint). > > Basically in the snippet: > > --8<---------------cut here---------------start------------->8--- > (match (lookup-content (content-hash-value hash) > (symbol->string > (content-hash-algorithm hash))) > --8<---------------cut here---------------end--------------->8--- > > ’lookup-content’ expect a bytevector for ’content-hash’ and in the case > of ’icecat’, it returns #f. Then raises the backtrace.
Icecat uses an unusual thing called a "computed origin", which means that its source is itself built from other sources. The only two places in Guix where this is currently done is 'icecat' and 'linux-libre'. See 'computed-origin-method' and 'icecat-source' in gnu/packages/gnuzilla.scm, and 'computed-origin-method' and 'make-linux-libre-source' in gnu/packages/linux.scm. Mark