aboutsummaryrefslogtreecommitdiff
path: root/_pastebins/2020-11-27-guix-build-local-module.md
blob: 350d50fa542bfc85c3df7412d5897751e9478bbd (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
---

title: Guix build local module

date: 2020-11-27

layout: post

lang: en

eu_categories: guix

ref: guix-build-local-module

---

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

---

Inside a file named `build.scm`:
```scheme
(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:

```shell
$ guix build -L. my-hello
guix build: error: my-hello : paquet inconnu
```

But with an eval expression it did:

```shell
$ guix build -L. -e '(@ (build) my-hello)'
# works
```