Hi, As Noé said. Instead of this:
> (source (origin > (method git-fetch) > (uri (git-reference > (url "https://github.com/radareorg/r2retdec") > (commit "0.4.0"))) > (sha256 (base32 > "15scbwq9b71mm79lcnkj3dqry7ain1fn7g2rnw6asjf8qqizaqd2")) > ;; (patches '("patch")) > (snippet #~(begin > (system* "git" "clone" > "https://github.com/avast/retdec/" "retdec-src") > (mkdir "b") > )))) > (build-system cmake-build-system) > (inputs (append (specifications->packages (list "pkg-config" "git" > "patch" "radare2")) > (list ) > )) which is not allowed by Guix. Because in a nutshell, you are allowed to put inside the containerized build environment only two types of items: 1. Fixed-output derivation (origin); 2. Something already built by Guix. A fixed-output derivation is a derivation where we know beforehand the expected checksum. Therefore, if you exactly know that and the recipe for building, then the output should be same. That’s the functional model. Does it make sense? Therefore, to do what you wanted with the snippet above looks like: --8<---------------cut here---------------start------------->8--- (source (origin (method git-fetch) (uri (git-reference (url "https://github.com/radareorg/r2retdec") (commit "0.4.0"))) (sha256 (base32 "15scbwq9b71mm79lcnkj3dqry7ain1fn7g2rnw6asjf8qqizaqd2")))) (inputs (append (specifications->packages (list "pkg-config" "git" "patch" "radare2")) `(("retdec" . ,(origin (method git-fetch) (uri (git-reference (url "https://github.com/avast/retdec/") (commit "????"))) (sha256 (base32 "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"))))))) --8<---------------cut here---------------end--------------->8--- where you need to specify “????” and the checksum xxxxx… HTH. Cheers, simon
