From 239587824837021e77f78a67b4c7e3d87ed8f1dc Mon Sep 17 00:00:00 2001 From: Tom Willemse Date: Thu, 6 Jul 2023 23:23:41 -0700 Subject: [PATCH] =?UTF-8?q?Restructure=20project=20as=20suggested=20by=20r?= =?UTF-8?q?unning=20=E2=80=98hall=20init=20--convert=E2=80=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- COPYING | 3 ++ HACKING | 47 +++++++++++++++++++++ README | 1 + doc/inkplate.texi | 60 +++++++++++++++++++++++++++ hall.scm | 26 ++++++++++++ inkplate/lowlevel.scm => inkplate.scm | 2 +- tests/inkplate.scm | 2 +- 7 files changed, 139 insertions(+), 2 deletions(-) create mode 100644 COPYING create mode 100644 HACKING create mode 120000 README create mode 100644 doc/inkplate.texi create mode 100644 hall.scm rename inkplate/lowlevel.scm => inkplate.scm (99%) diff --git a/COPYING b/COPYING new file mode 100644 index 0000000..f658e91 --- /dev/null +++ b/COPYING @@ -0,0 +1,3 @@ +This project's license is GPL 3+. + +You can read the full license at https://www.gnu.org/licenses/gpl.html. diff --git a/HACKING b/HACKING new file mode 100644 index 0000000..31a3272 --- /dev/null +++ b/HACKING @@ -0,0 +1,47 @@ +# -*- mode: org; coding: utf-8; -*- + +#+TITLE: Hacking inkplate + +* Contributing + +By far the easiest way to hack on inkplate is to develop using Guix: + +#+BEGIN_SRC bash + # Obtain the source code + cd /path/to/source-code + guix environment -l guix.scm + # In the new shell, run: + hall dist --execute && autoreconf -vif && ./configure && make check +#+END_SRC + +You can now hack this project's files to your heart's content, whilst +testing them from your `guix environment' shell. + +To try out any scripts in the project you can now use + +#+BEGIN_SRC bash + ./pre-inst-env scripts/${script-name} +#+END_SRC + +If you'd like to tidy the project again, but retain the ability to test the +project from the commandline, simply run: + +#+BEGIN_SRC bash + ./hall clean --skip "scripts/${script-name},pre-inst-env" --execute +#+END_SRC + +** Manual Installation + +If you do not yet use Guix, you will have to install this project's +dependencies manually: + - autoconf + - automake + - pkg-config + - texinfo + - guile-hall + +Once those dependencies are installed you can run: + +#+BEGIN_SRC bash + hall dist -x && autoreconf -vif && ./configure && make check +#+END_SRC diff --git a/README b/README new file mode 120000 index 0000000..314e17d --- /dev/null +++ b/README @@ -0,0 +1 @@ +README.org \ No newline at end of file diff --git a/doc/inkplate.texi b/doc/inkplate.texi new file mode 100644 index 0000000..259ece8 --- /dev/null +++ b/doc/inkplate.texi @@ -0,0 +1,60 @@ +\input texinfo +@c -*-texinfo-*- + +@c %**start of header +@setfilename guile-inkplate.info +@documentencoding UTF-8 +@settitle Guile Inkplate Reference Manual +@c %**end of header + +@include version.texi + +@copying +Copyright @copyright{} 2023 Tom Willemse + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with no +Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A +copy of the license is included in the section entitled ``GNU Free +Documentation License''. +@end copying + +@dircategory The Algorithmic Language Scheme +@direntry +* Guile Inkplate: (guile-inkplate). +@end direntry + +@titlepage +@title The Guile Inkplate Manual +@author Tom Willemse + +@page +@vskip 0pt plus 1filll +Edition @value{EDITION} @* +@value{UPDATED} @* + +@insertcopying +@end titlepage + +@contents + +@c ********************************************************************* +@node Top +@top Guile Inkplate + +This document describes Guile Inkplate version @value{VERSION}. + +@menu +* Introduction:: Why Guile Inkplate? +@end menu + +@c ********************************************************************* +@node Introduction +@chapter Introduction + +INTRODUCTION HERE + +This documentation is a stub. + +@bye diff --git a/hall.scm b/hall.scm new file mode 100644 index 0000000..09b9578 --- /dev/null +++ b/hall.scm @@ -0,0 +1,26 @@ +(hall-description + (name "inkplate") + (prefix "guile") + (version "0.1") + (author "Tom Willemse") + (copyright (2023)) + (synopsis "") + (description "") + (home-page "") + (license gpl3+) + (dependencies `()) + (skip ()) + (files (libraries ((scheme-file "inkplate"))) + (tests ((directory "tests" ((scheme-file "inkplate"))))) + (programs ((directory "scripts" ()))) + (documentation + ((directory "doc" ((texi-file "inkplate"))) + (text-file "COPYING") + (text-file "HACKING") + (symlink "README" "README.org") + (org-file "README"))) + (infrastructure + ((directory "build-aux" ()) + (scheme-file "hall") + (text-file ".gitignore") + (scheme-file "guix"))))) diff --git a/inkplate/lowlevel.scm b/inkplate.scm similarity index 99% rename from inkplate/lowlevel.scm rename to inkplate.scm index c26daa7..d068455 100644 --- a/inkplate/lowlevel.scm +++ b/inkplate.scm @@ -1,4 +1,4 @@ -(define-module (inkplate lowlevel) +(define-module (inkplate) #:use-module ((ice-9 format) #:select (format)) #:use-module ((srfi srfi-9) #:select (define-record-type)) diff --git a/tests/inkplate.scm b/tests/inkplate.scm index fb18199..989a065 100644 --- a/tests/inkplate.scm +++ b/tests/inkplate.scm @@ -1,5 +1,5 @@ (use-modules (srfi srfi-64) - (inkplate lowlevel)) + (inkplate)) (define* (call-with-test-device func #:key (input-string "")) (let ((device (make-inkplate (open-input-string input-string) (open-output-string))))