From 6294af2472ff9798f46f01acf49b39f50f0375ec Mon Sep 17 00:00:00 2001 From: "Christopher R. Nelson" Date: Wed, 17 Jan 2024 21:13:03 -0500 Subject: Update guix && guile-hall machinery --- guix.scm | 105 +++++++++++++++++++++++++++++++++++++++++++++++------------ hall.scm | 80 ++++++++++++++++++++++++++------------------- manifest.scm | 3 +- 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")) -- cgit v1.2.3