Guix build local module

Posted on November 27, 2020

FIXED: rename name on line 9 of the first snippet, and use "my-hello" instead of "hello".


Inside a file named build.scm:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
(define-module (build)
  #:use-module (guix packages)
  #:use-module (guix download)
  #:use-module (guix build-system gnu)
  #:use-module (guix licenses))

(define-public my-hello
  (package
    (name "hello")
    (version "2.10")
    (source (origin
              (method url-fetch)
              (uri (string-append "mirror://gnu/hello/hello-" version
                                  ".tar.gz"))
              (sha256
               (base32
                "0ssi1wpaf7plaswqqjwigppsg5fyh99vdlb9kzl7c9lng89ndq1i"))))
    (build-system gnu-build-system)
    (synopsis "")
    (description "")
    (home-page "")
    (license gpl3+)))

A plain build command didn’t work:

1
2
$ guix build -L. my-hello
guix build: error: my-hello : paquet inconnu

But with an eval expression it did:

1
2
$ guix build -L. -e '(@ (build) my-hello)'
# works