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

Reply via email to