diff options
| -rw-r--r-- | .guix/run64-website.scm | 25 | ||||
| -rw-r--r-- | README.md | 29 | ||||
| -rw-r--r-- | README.org | 40 | ||||
| -rw-r--r-- | build-aux/build-home-page.el | 53 |
4 files changed, 43 insertions, 104 deletions
diff --git a/.guix/run64-website.scm b/.guix/run64-website.scm index 8ceb63c..7b85bea 100644 --- a/.guix/run64-website.scm +++ b/.guix/run64-website.scm @@ -17,26 +17,29 @@ ;;; along with run64. If not, see <https://www.gnu.org/licenses/>. (define-module (run64-website) - #:use-module ((gnu packages emacs) #:select (emacs-minimal)) + #:use-module ((gnu packages haskell-xyz) #:select (pandoc)) #:use-module (guix gexp) #:use-module (guix packages) #:use-module ((run64-package) #:select (guile-run64))) -(define run64-website-gexp +(define run64-website-home-page-gexp (with-imported-modules '((guix build utils)) #~(begin (use-modules (guix build utils)) - (copy-recursively #$(package-source guile-run64) - (getcwd)) - (invoke #$(file-append emacs-minimal "/bin/emacs") - "--quick" - "--batch" - "--load" "build-aux/build-home-page.el" - "--funcall" "build-website") - (copy-recursively "website" #$output)))) + (invoke #$(file-append pandoc "/bin/pandoc") + "--standalone" + "--metadata" "title=run64" + "--css=style.css" + (string-append "--output=" #$output) + #$(file-append (package-source guile-run64) + "/README.md"))))) (define-public run64-website - (computed-file "run64-website" run64-website-gexp)) + (file-union "run64-website" + `(("index.html" + ,(computed-file "run64-website-home-page.html" + run64-website-home-page-gexp)) + ("style.css" ,(local-file "../website/style.css"))))) run64-website diff --git a/README.md b/README.md new file mode 100644 index 0000000..62d7058 --- /dev/null +++ b/README.md @@ -0,0 +1,29 @@ +[](https://ci.systemreboot.net/jobs/run64) + +run64 is a [SRFI-64](https://srfi.schemers.org/srfi-64/srfi-64.html) runner. It is a convenience script to run SRFI-64 tests and generate pretty, readable, colorful output. run64 is meant to work with an SRFI-64 implementation, and is not an SRFI-64 implementation in itself. + +# Usage + +To use run64, invoke it on the command-line passing files containing SRFI-64 tests as arguments. For example, + +``` shell +$ run64 test-file1.scm test-file2.scm +``` + +You might want to invoke the *run64* executable specific to your scheme implementation. For example, if you are using GNU Guile, + +``` shell +$ guile-run64 test-file1.scm test-file2.scm +``` + +# Portability + +run64 is written in portable R6RS Scheme. It should work in any R6RS Scheme that supports [SRFI-1](https://srfi.schemers.org/srfi-1/srfi-1.html) and [SRFI-64](https://srfi.schemers.org/srfi-64/srfi-64.html), but has been tested well only with [GNU Guile](https://www.gnu.org/software/guile/). If you use run64 with other Scheme implementations, we would love to hear of your experience. + +# Contributing + +Feedback, suggestions, feature requests, bug reports and pull requests are all welcome. Please write to <arunisaac@systemreboot.net>. + +# License + +run64 is free software released under the terms of the [GNU General Public License](https://www.gnu.org/licenses/gpl.html), either version 3 of the License, or (at your option) any later version. diff --git a/README.org b/README.org deleted file mode 100644 index 3664617..0000000 --- a/README.org +++ /dev/null @@ -1,40 +0,0 @@ -#+TITLE: run64 -#+MACRO: ci-badge [[https://ci.systemreboot.net/jobs/$1][https://ci.systemreboot.net/badge/$1.svg]] - -{{{ci-badge(run64-website)}}} - -run64 is a [[https://srfi.schemers.org/srfi-64/srfi-64.html][SRFI-64]] runner. It is a convenience script to run SRFI-64 -tests and generate pretty, readable, colorful output. run64 is meant -to work with an SRFI-64 implementation, and is not an SRFI-64 -implementation in itself. - -* Usage - -To use run64, invoke it on the command-line passing files containing -SRFI-64 tests as arguments. For example, -#+BEGIN_SRC shell - $ run64 test-file1.scm test-file2.scm -#+END_SRC -You might want to invoke the /run64/ executable specific to your -scheme implementation. For example, if you are using GNU Guile, -#+BEGIN_SRC shell - $ guile-run64 test-file1.scm test-file2.scm -#+END_SRC - -* Portability - -run64 is written in portable R6RS Scheme. It should work in any R6RS -Scheme that supports [[https://srfi.schemers.org/srfi-1/srfi-1.html][SRFI-1]] and [[https://srfi.schemers.org/srfi-64/srfi-64.html][SRFI-64]], but has been tested well only -with [[https://www.gnu.org/software/guile/][GNU Guile]]. If you use run64 with other Scheme implementations, we -would love to hear of your experience. - -* Contributing - -Feedback, suggestions, feature requests, bug reports and pull requests -are all welcome. Please write to [[mailto:arunisaac@systemreboot.net][arunisaac@systemreboot.net]]. - -* License - -run64 is free software released under the terms of the [[https://www.gnu.org/licenses/gpl.html][GNU General -Public License]], either version 3 of the License, or (at your option) -any later version. diff --git a/build-aux/build-home-page.el b/build-aux/build-home-page.el deleted file mode 100644 index 2979a64..0000000 --- a/build-aux/build-home-page.el +++ /dev/null @@ -1,53 +0,0 @@ -;;; run64 --- SRFI-64 test runner -;;; Copyright © 2022 Arun Isaac <arunisaac@systemreboot.net> -;;; -;;; This file is part of run64. -;;; -;;; run64 is free software: you can redistribute it and/or modify it -;;; under the terms of the GNU General Public License as published by -;;; the Free Software Foundation, either version 3 of the License, or -;;; (at your option) any later version. -;;; -;;; run64 is distributed in the hope that it will be useful, but -;;; WITHOUT ANY WARRANTY; without even the implied warranty of -;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -;;; General Public License for more details. -;;; -;;; You should have received a copy of the GNU General Public License -;;; along with run64. If not, see <https://www.gnu.org/licenses/>. - -;;; Commentary: - -;; This Emacs script generates the home page of the website from -;; README.org. - -;;; Code: - -(require 'ox-html) - -(setq make-backup-files nil - org-export-with-section-numbers nil - org-export-with-sub-superscripts nil - org-export-with-toc nil - org-html-head "<link rel=\"stylesheet\" type=\"text/css\" href=\"style.css\" />" - org-html-head-include-default-style nil - org-html-head-include-scripts nil - org-html-postamble nil) - -(defun org-dblock-write:releases (params) - "Dynamically write releases block." - (call-process "git" nil t nil - "for-each-ref" "--sort=-taggerdate" - (let ((release-file "./releases/run64-%(refname:short).tar.lz")) - (format "--format=- %%(taggerdate:short) [[%s][%s]] [[%s.asc][GPG Signature]]" - release-file - (file-name-nondirectory release-file) - release-file)) - "refs/tags/v*") - ;; Fix tarball filenames. - (replace-string "run64-v" "run64-" nil nil nil t)) - -(defun build-website () - (with-current-buffer (find-file "README.org") - (org-update-all-dblocks) - (org-export-to-file 'html "website/index.html"))) |
