aboutsummaryrefslogtreecommitdiff
path: root/crn/packages/guile-xyz.scm
blob: ee5f1605c0ec2ccebbbea07be98fd3aa7eb235d9 (plain)
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
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
(define-module (crn packages guile-xyz)
  #:use-module (crn packages)
  #:use-module (gnu packages autotools)
  #:use-module (gnu packages guile)
  #:use-module (gnu packages guile-xyz)
  #:use-module (gnu packages networking)
  #:use-module (gnu packages pkg-config)
  #:use-module (gnu packages texinfo)
  #:use-module (guix build-system gnu)
  #:use-module (guix git-download)
  #:use-module (guix gexp)
  #:use-module (guix packages)
  #:use-module ((guix licenses) #:prefix licenses:))

(define-public guile-reading-heap
  (package
   (name "guile-reading-heap")
   (version "0.1")
   (source
    (origin
     (method git-fetch)
     (uri (git-reference
	   (url "git://languidnights.com/reading-heap")
	   (commit (string-append "v" version))))
     (file-name (git-file-name name version))
     (sha256
      (base32 "1zk8q003wzp00yc8lwadm45fc4vg44qiaa2qj5rr6x0vi35f8qj7"))))
   (build-system gnu-build-system)
   (arguments
    `(#:modules
      ((ice-9 match)
       (ice-9 ftw)
       ,@%gnu-build-system-modules)
      #:phases
      (modify-phases
       %standard-phases
       (add-after
        'install
        'hall-wrap-binaries
        (lambda* (#:key inputs outputs #:allow-other-keys)
          (let* ((compiled-dir
                  (lambda (out version)
                    (string-append
                     out
                     "/lib/guile/"
                     version
                     "/site-ccache")))
                 (uncompiled-dir
                  (lambda (out version)
                    (string-append
                     out
                     "/share/guile/site"
                     (if (string-null? version) "" "/")
                     version)))
                 (dep-path
                  (lambda (env modules path)
                    (list env
                          ":"
                          'prefix
                          (cons modules
                                (map (lambda (input)
                                       (string-append
                                        (assoc-ref inputs input)
                                        path))
                                     ,''("guile-config"
                                         "guile-json"
                                         "guile-simple-zmq"))))))
                 (out (assoc-ref outputs "out"))
                 (bin (string-append out "/bin/"))
                 (site (uncompiled-dir out "")))
            (match (scandir site)
              (("." ".." version)
               (for-each
                (lambda (file)
                  (wrap-program
                   (string-append bin file)
                   (dep-path
                    "GUILE_LOAD_PATH"
                    (uncompiled-dir out version)
                    (uncompiled-dir "" version))
                   (dep-path
                    "GUILE_LOAD_COMPILED_PATH"
                    (compiled-dir out version)
                    (compiled-dir "" version))))
                ,''("rh-server" "rh-client"))
               #t))))))))
   (native-inputs
    (list autoconf
	  automake
	  guile-hall
	  pkg-config
	  texinfo))
   (inputs
    (list guile-3.0
	  guile-config
	  guile-json-4
	  guile-simple-zmq
	  zeromq))
   (synopsis
    "An application for managing your reading list.")
   (description
    "Reading-Heap is a client-server application that manages a reading
 list in a priority queue, so you always know what the next thing you
should read is, without having to devote your own brain power to sorting
them.")
   (home-page
    "https://projects.languidnights.com/reading-heap/")
   (license licenses:agpl3+)))