summaryrefslogtreecommitdiff
path: root/guix.scm
diff options
context:
space:
mode:
authorChristopher R. Nelson <christopher.nelson@languidnights.com>2024-01-17 21:13:03 -0500
committerChristopher R. Nelson <christopher.nelson@languidnights.com>2024-01-21 09:59:05 -0500
commit6294af2472ff9798f46f01acf49b39f50f0375ec (patch)
tree1e60eb7544be952ee20fb1ad5cb4e728b4743b87 /guix.scm
parent6a0214be1c9ed4eceb059dfe514c2df429f2951f (diff)
Update guix && guile-hall machinery
Diffstat (limited to 'guix.scm')
-rw-r--r--guix.scm105
1 files changed, 85 insertions, 20 deletions
diff --git a/guix.scm b/guix.scm
index cf15d0e..73d423b 100644
--- a/guix.scm
+++ b/guix.scm
@@ -2,7 +2,7 @@
(guix packages)
((guix licenses) #:prefix license:)
(guix download)
- (guix gexp)
+ (guix git-download)
(guix build-system gnu)
(gnu packages)
(gnu packages autotools)
@@ -10,29 +10,94 @@
(gnu packages guile-xyz)
(gnu packages networking)
(gnu packages pkg-config)
- (gnu packages texinfo)
- (srfi srfi-1))
+ (gnu packages texinfo))
(package
- (name "reading-heap")
+ (name "guile-reading-heap")
(version "0.1")
(source
- (local-file
- (dirname (current-filename))
- #:recursive?
- #t
- #:select?
- (λ (file stat)
- (not (any (lambda (my-string)
- (string-contains file my-string))
- (list ".git" ".dir-locals.el" "guix.scm"))))))
+ (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 `())
+ (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 pkg-config texinfo))
- (inputs (list guile-3.0 guile-json guile-config guile-simple-zmq))
- (propagated-inputs (list zeromq))
- (synopsis "")
- (description "")
- (home-page "")
+ (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+))