aboutsummaryrefslogtreecommitdiff
path: root/guix.scm
blob: 73d423beab7e0cb8944192a14997f5842e9bad08 (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
(use-modules
  (guix packages)
  ((guix licenses) #:prefix license:)
  (guix download)
  (guix git-download)
  (guix build-system gnu)
  (gnu packages)
  (gnu packages autotools)
  (gnu packages guile)
  (gnu packages guile-xyz)
  (gnu packages networking)
  (gnu packages pkg-config)
  (gnu packages texinfo))

(package
  (name "guile-reading-heap")
  (version "0.1")
  (source
   (origin
    (method url-fetch)
    (uri "file:///home/christopher/src/guile-reading-heap/guile-reading-heap-0.1.tar.gz")))
   ;; "./guile-reading-heap-0.1.tar.gz")
  (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 license:agpl3+))