Restructure project as suggested by running ‘hall init --convert’

This commit is contained in:
Tom Willemse 2023-07-06 23:23:41 -07:00
parent 0b9f699b14
commit 2395878248
7 changed files with 139 additions and 2 deletions

3
COPYING Normal file
View file

@ -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.

47
HACKING Normal file
View file

@ -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

1
README Symbolic link
View file

@ -0,0 +1 @@
README.org

60
doc/inkplate.texi Normal file
View file

@ -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

26
hall.scm Normal file
View file

@ -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")))))

View file

@ -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))

View file

@ -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))))