aboutsummaryrefslogtreecommitdiff
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
parent6a0214be1c9ed4eceb059dfe514c2df429f2951f (diff)
Update guix && guile-hall machinery
-rw-r--r--guix.scm105
-rw-r--r--hall.scm80
-rw-r--r--manifest.scm3
3 files changed, 134 insertions, 54 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+))
diff --git a/hall.scm b/hall.scm
index 5cad2b2..28a38bc 100644
--- a/hall.scm
+++ b/hall.scm
@@ -1,34 +1,48 @@
(hall-description
- (name "reading-heap")
- (prefix "")
- (version "0.1")
- (author "Christopher R. Nelson")
- (email "christopher.nelson@languidnights.com")
- (copyright (2023))
- (synopsis "")
- (description "")
- (home-page "")
- (license agpl3+)
- (dependencies `())
- (skip ())
- (features
- ((guix #f)
- (native-language-support #f)
- (licensing #f)))
- (files (libraries
- ((scheme-file "reading-heap")
- (directory
- "reading-heap"
- ((unknown-type "hconfig.scm.hall")))))
- (tests ((directory "tests" ())))
- (programs ((directory "scripts" ())))
- (documentation
- ((org-file "README")
- (symlink "README" "README.org")
- (text-file "HACKING")
- (text-file "COPYING")
- (directory "doc" ((texi-file "reading-heap")))))
- (infrastructure
- ((scheme-file "guix")
- (text-file ".gitignore")
- (scheme-file "hall")))))
+ (name "reading-heap")
+ (prefix "guile")
+ (version "0.1")
+ (author "Christopher R. Nelson")
+ (email "christopher.nelson@languidnights.com")
+ (copyright (2024))
+ (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 agpl3+)
+ (dependencies `(("guile-hall" (hall common) ,guile-hall)
+ ("guix" ,guix)
+ ("guile-config" ,guile-config)
+ ("guile-json" ,guile-json-4)
+ ("guile-zmq" ,guile-simple-zmq)
+ ("zeromq" ,zeromq)))
+ (skip ())
+ (files (libraries
+ ((directory
+ "reading-heap"
+ ((scheme-file "zmq")
+ (scheme-file "media")
+ (scheme-file "heap")
+ (unknown-type "hconfig.scm.hall")))
+ (scheme-file "reading-heap")))
+ (tests ())
+ (programs
+ ((directory
+ "scripts"
+ ((in-file "rh-server") (in-file "rh-client")))))
+ (documentation
+ ((text-file "AUTHORS")
+ (text-file "ChangeLog")
+ (directory "doc" ((texi-file "reading-heap")))
+ (text-file "COPYING")
+ (text-file "HACKING")
+ (text-file "NEWS")
+ (symlink "README" "README.org")
+ (org-file "README")))
+ (infrastructure
+ ((scheme-file "hall")
+ (text-file ".gitignore")
+ (scheme-file "guix")
+ (scheme-file "manifest")
+ (shell-file "autogen")))))
diff --git a/manifest.scm b/manifest.scm
index 2d2d246..98e7728 100644
--- a/manifest.scm
+++ b/manifest.scm
@@ -1,3 +1,4 @@
(use-modules (guix packages))
-(specifications->manifest (list "guile@3.0" "guile-config" "guile-json" "guile-simple-zmq" "zeromq"))
+(specifications->manifest (list "guile@3.0" "guile-config" "guile-json" "guile-simple-zmq" "zeromq" "guile-hall"
+ "autoconf" "automake" "make" "pkg-config" "texinfo"))