Hi Dmitry,

2017-02-21 22:19 GMT+01:00 Dmitry Nikolaev <cameltheman@gmail.com>:
When writing package definition, what if I download sources from git repository? For example:

(define-public libwebsockets
  (package
    (name "libwebsockets")
    (version "1.3")
    (source (origin
              ;; The project does not publish tarballs, so we have to take
              ;; things from Git.
              (method git-fetch)
              (uri (git-reference
                    (url "git://git.libwebsockets.org/libwebsockets")
                    (commit (string-append "v" version
                                           "-chrome37-firefox30"))))
              (sha256
               (base32
                "12fqh2d2098mgf0ls19p9lzibpsqhv7mc5rn1yvrbfnazmcr40g4"))
              (file-name (string-append name "-" version))))
...

How do I calculate this 12fqh2d...?

Dmitry Nikolaev

You clone the git repository locally, then you use 'guix hash' as explained in this page of the manual (the option you want to use is "--recursive")

https://www.gnu.org/software/guix/manual/html_node/Invoking-guix-hash.html

Another option is to try to build the package with the wrong hash, wait for the error message and copy the right hash from within the error message itself. Lame, but hey

Hope this helps !

Ciao