commit 12fac8055d121f4e266423d7e01fa2261401d188
parent 5f8ebba724b662f6c8a248c6905c2468cbd300ae
Author: Yuval Langer <yuval.langer@gmail.com>
Date: Mon, 19 Jun 2023 16:17:54 +0300
Convert repository to a Guix Hall project.
* Convert README.md to README.org.
* COPYING file is LICENSE file.
* Add HACKING. Next - SLASHING.
* Add texi documentation source file.
* Add Guix and Hall configuration and/or metadata files.
Diffstat:
9 files changed, 235 insertions(+), 59 deletions(-)
diff --git a/COPYING b/COPYING
@@ -0,0 +1 @@
+LICENSE
+\ No newline at end of file
diff --git a/HACKING b/HACKING
@@ -0,0 +1 @@
+HACKING.org
+\ No newline at end of file
diff --git a/HACKING.org b/HACKING.org
@@ -0,0 +1,47 @@
+# -*- mode: org; coding: utf-8; -*-
+
+#+TITLE: Hacking clipboard-speaker
+
+* Contributing
+
+By far the easiest way to hack on clipboard-speaker 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
@@ -0,0 +1 @@
+README.org
+\ No newline at end of file
diff --git a/README.md b/README.md
@@ -1,59 +0,0 @@
-# Clipboard Speaker (in GNU Guile this time).
-
- Want your computer
- to speak a bit?
- Mark some text
- and let it rip.
-
-Not a fancy curiosity but an accessibility tool for people with
-reading disabilities. I use it every day to read.
-
-It basically reads whatever you mark with your mouse cursor.
-
-## "Community":
-
-<irc://libera.chat/clipboard-speaker> (on the web:
-<https://web.libera.chat/#clipboard-speaker>).
-
-## Code repositories:
-
-Main development repository is on <https://sr.ht/>:
-
-<https://git.sr.ht/~kakafarm/guile-clipboard-speaker/>
-
-Mirrors:
-
-* <https://codeberg.org/yuvallangerontheroad/guile-clipboard-speaker/>
-* <https://gitlab.com/yuvallangerontheroad/guile-clipboard-speaker/>
-* <https://gitlab.com/yuvallanger/guile-clipboard-speaker/>
-
-## Changelog:
-
-Have a look at the <a href="CHANGELOG.md">CHANGELOG.md</a> file.
-
-## Map your keybindings:
-
-### On Gnome:
-
-Add the key bindings in (if you use Gnome. If you don't, look up how to
- assign scripts to keybindings in your own window manager):
-
-```
-Gnome Settings
- → Keyboard Shortcuts
- → All the way down and press the + button
-```
-
-## Usage:
-
-1. Select some text. While the text is highlighted,
-2. press the keybinding assigned to the `clipboard-reader` executable
- to start the reading of the highlighted text.
-3. (optional, while `clipboard-speaker` is reading the text) Select
- some more text and press the keybinding that starts
- `clipboard-reader`. The selected text will be added to the text
- buffer and will be read right after the last bunch of text.
-4. (optional) GOTO 3.
-5. (optional) Press the other keybinding assigned to the
- `clipboard-reader --kill` script to make your computer stop
- speaking and clear the text buffer.
diff --git a/README.org b/README.org
@@ -0,0 +1,63 @@
+# -*- mode: org; coding: utf-8; -*-
+
+#+TITLE: README for Clipboard-Speaker
+
+* Clipboard Speaker (in GNU Guile this time).
+
+ Want your computer
+ to speak a bit?
+ Mark some text
+ and let it rip.
+
+Not a fancy curiosity but an accessibility tool for people with
+reading disabilities. I use it every day to read.
+
+It basically reads whatever you mark with your mouse cursor.
+
+** "Community":
+
+<irc://libera.chat/clipboard-speaker> (on the web:
+<https://web.libera.chat/#clipboard-speaker>).
+
+** Code repositories:
+
+Main development repository is on <https://sr.ht/>:
+
+<https://git.sr.ht/~kakafarm/guile-clipboard-speaker/>
+
+Mirrors:
+
+- <https://codeberg.org/yuvallangerontheroad/guile-clipboard-speaker/>
+- <https://gitlab.com/yuvallangerontheroad/guile-clipboard-speaker/>
+- <https://gitlab.com/yuvallanger/guile-clipboard-speaker/>
+
+** Changelog:
+
+Have a look at the [[CHANGELOG.md]] file.
+
+** Map your keybindings:
+
+*** On Gnome:
+
+Add the key bindings in (if you use Gnome. If you don't, look up how
+to assign scripts to keybindings in your own window manager):
+
+#+begin_example
+Gnome Settings
+ → Keyboard Shortcuts
+ → All the way down and press the + button
+#+end_example
+
+** Usage:
+
+1. Select some text. While the text is highlighted,
+2. press the keybinding assigned to the `clipboard-reader` executable
+ to start the reading of the highlighted text.
+3. (optional, while `clipboard-speaker` is reading the text) Select
+ some more text and press the keybinding that starts
+ `clipboard-reader`. The selected text will be added to the text
+ buffer and will be read right after the last bunch of text.
+4. (optional) GOTO 3.
+5. (optional) Press the other keybinding assigned to the
+ `clipboard-reader --kill` script to make your computer stop
+ speaking and clear the text buffer.
diff --git a/doc/clipboard-speaker.texi b/doc/clipboard-speaker.texi
@@ -0,0 +1,60 @@
+\input texinfo
+@c -*-texinfo-*-
+
+@c %**start of header
+@setfilename clipboard-speaker.info
+@documentencoding UTF-8
+@settitle Clipboard-Speaker Reference Manual
+@c %**end of header
+
+@include version.texi
+
+@copying
+Copyright @copyright{} 2023
+
+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
+* Clipboard-Speaker: (clipboard-speaker).
+@end direntry
+
+@titlepage
+@title The Clipboard-Speaker Manual
+@author
+
+@page
+@vskip 0pt plus 1filll
+Edition @value{EDITION} @*
+@value{UPDATED} @*
+
+@insertcopying
+@end titlepage
+
+@contents
+
+@c *********************************************************************
+@node Top
+@top Clipboard-Speaker
+
+This document describes Clipboard-Speaker version @value{VERSION}.
+
+@menu
+* Introduction:: Why Clipboard-Speaker?
+@end menu
+
+@c *********************************************************************
+@node Introduction
+@chapter Introduction
+
+INTRODUCTION HERE
+
+This documentation is a stub.
+
+@bye
diff --git a/guix.scm b/guix.scm
@@ -0,0 +1,30 @@
+(use-modules
+ (guix packages)
+ ((guix licenses) #:prefix license:)
+ (guix download)
+ (guix build-system gnu)
+ (gnu packages)
+ (gnu packages autotools)
+ (gnu packages guile)
+ (gnu packages guile-xyz)
+ (gnu packages pkg-config)
+ (gnu packages texinfo))
+
+(package
+ (name "clipboard-speaker")
+ (version "0.1")
+ (source "./clipboard-speaker-0.1.tar.gz")
+ (build-system gnu-build-system)
+ (arguments `())
+ (native-inputs
+ `(("autoconf" ,autoconf)
+ ("automake" ,automake)
+ ("pkg-config" ,pkg-config)
+ ("texinfo" ,texinfo)))
+ (inputs `(("guile" ,guile-3.0)))
+ (propagated-inputs `())
+ (synopsis "")
+ (description "")
+ (home-page "")
+ (license license:gpl3+))
+
diff --git a/hall.scm b/hall.scm
@@ -0,0 +1,29 @@
+(hall-description
+ (name "clipboard-speaker")
+ (prefix "")
+ (version "0.1")
+ (author "")
+ (copyright (2023))
+ (synopsis "")
+ (description "")
+ (home-page "")
+ (license agpl3+)
+ (dependencies `())
+ (skip ())
+ (files (libraries
+ ((scheme-file "clipboard-speaker")
+ (directory "clipboard-speaker" ())))
+ (tests ((directory "tests" ())))
+ (programs ((directory "scripts" ())))
+ (documentation
+ ((org-file "README")
+ (symlink "README" "README.org")
+ (text-file "HACKING")
+ (text-file "COPYING")
+ (directory
+ "doc"
+ ((texi-file "clipboard-speaker")))))
+ (infrastructure
+ ((scheme-file "guix")
+ (text-file ".gitignore")
+ (scheme-file "hall")))))