# golang.scm -rw-r--r-- 2.3 KiB View raw
                                                                                
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
(define-public go-github-com-zenhack-go-notmuch
  (package
    (name "go-github-com-zenhack-go-notmuch")
    (version "0.0.0-20211022191430-4d57e8ad2a8b")
    (source (origin
              (method git-fetch)
              (uri (git-reference
                    (url "https://github.com/zenhack/go.notmuch")
                    (commit (go-version->git-ref version))))
              (modules '((guix build utils)))
              ;; XXX: We need to use a snippet, because if we don't modify
              ;; the source directly, the modifications will have to be
              ;; reapplied for every single package that depends on this
              ;; one.
              (snippet
               #~(substitute* (find-files (getcwd) "\\.go$")
                   (("// #cgo LDFLAGS:.*$")
                    (let ((notmuch #$notmuch))
                      (string-append "// #cgo LDFLAGS:"
                                     " -lnotmuch"
                                     " -L" notmuch "/lib\n"
                                     "// #cgo CFLAGS:"
                                     " -I" notmuch "/include\n")))))
              (file-name (git-file-name name version))
              (sha256
               (base32
                "1j2s5smjf7pp7i72dw12sm9iz961y3cy8nkm7hmrg53f6wna57h9"))))
    (build-system go-build-system)
    (arguments
     (list #:import-path "github.com/zenhack/go.notmuch"
           #:phases
           #~(modify-phases %standard-phases
               (add-before 'check 'unpack-test-fixtures
                 (lambda* (#:key inputs import-path #:allow-other-keys)
                   (let ((fixtures (assoc-ref inputs "notmuch-fixtures")))
                     (invoke "tar" "xf" fixtures "-C"
                             (string-append "src/" import-path
                                            "/fixtures"))))))))
    (native-inputs
     `(("notmuch-fixtures"
        ,(origin
          (method url-fetch)
          (uri "http://notmuchmail.org/releases/test-databases/database-v1.tar.xz")
          (sha256
           (base32
            "1lk91s00y4qy4pjh8638b5lfkgwyl282g1m27srsf7qfn58y16a2"))))))
    (home-page "https://github.com/zenhack/go.notmuch")
    (synopsis "Go bindings to libnotmuch")
    (description
     "The notmuch package provides a Go language binding to the notmuch
email library.")
    (license license:gpl3+)))