aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.guix-authorizations4
-rw-r--r--.guix-channel3
-rw-r--r--.guix/emacs-thogai-package.scm66
l---------guix.scm1
4 files changed, 74 insertions, 0 deletions
diff --git a/.guix-authorizations b/.guix-authorizations
new file mode 100644
index 0000000..a8ef8be
--- /dev/null
+++ b/.guix-authorizations
@@ -0,0 +1,4 @@
+(authorizations
+ (version 0)
+ (("7F73 0343 F2F0 9F3C 77BF 79D3 2E25 EE8B 6180 2BB3"
+ (name "arunisaac"))))
diff --git a/.guix-channel b/.guix-channel
new file mode 100644
index 0000000..35e181f
--- /dev/null
+++ b/.guix-channel
@@ -0,0 +1,3 @@
+(channel
+ (version 0)
+ (directory ".guix"))
diff --git a/.guix/emacs-thogai-package.scm b/.guix/emacs-thogai-package.scm
new file mode 100644
index 0000000..c63097e
--- /dev/null
+++ b/.guix/emacs-thogai-package.scm
@@ -0,0 +1,66 @@
+;;; thogai.el --- Stenotyping software
+;;; Copyright © 2023 Arun Isaac <arunisaac@systemreboot.net>
+;;;
+;;; This file is part of thogai.
+;;;
+;;; thogai 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.
+;;;
+;;; thogai 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 thogai. If not, see <https://www.gnu.org/licenses/>.
+
+(define-module (emacs-thogai-package)
+ #:use-module ((gnu packages emacs) #:select (emacs))
+ #:use-module ((gnu packages python) #:select (python))
+ #:use-module ((gnu packages stenography) #:select (plover))
+ #:use-module (guix build-system emacs)
+ #:use-module (guix gexp)
+ #:use-module (guix git-download)
+ #:use-module ((guix licenses) #:prefix license:)
+ #:use-module (guix packages)
+ #:use-module (guix utils))
+
+(define-public emacs-thogai
+ (package
+ (name "emacs-thogai")
+ (version "0.1.0")
+ (source (local-file ".."
+ "emacs-thogai-checkout"
+ #:recursive? #t
+ #:select? (or (git-predicate (dirname (current-source-directory)))
+ (const #t))))
+ (build-system emacs-build-system)
+ (arguments
+ (list
+ ;; We cannot use emacs-minimal since thogai needs
+ ;; json-parse-buffer, and json-parse-buffer is absent in
+ ;; emacs-minimal.
+ #:emacs emacs
+ #:phases
+ #~(modify-phases %standard-phases
+ ;; Generate source code from Plover.
+ (add-after 'unpack 'generate-sources
+ (lambda _
+ (invoke "make"
+ (string-append "PLOVER_SOURCE="
+ #$(package-source plover))
+ "thogai-english-orthography.el"))))))
+ (native-inputs
+ (list python))
+ (home-page "https://thogai.systemreboot.net")
+ (synopsis "Stenotyping software for Emacs")
+ (description "@code{emacs-thogai} is stenotyping software for
+Emacs. It interfaces with steno machines using the Gemini protocol,
+and translates strokes using a steno dictionary in the Plover
+dictionary format. It is intended as a replacement for Plover that
+integrates well with Emacs.")
+ (license license:gpl3+)))
+
+emacs-thogai
diff --git a/guix.scm b/guix.scm
new file mode 120000
index 0000000..d587e57
--- /dev/null
+++ b/guix.scm
@@ -0,0 +1 @@
+.guix/emacs-thogai-package.scm \ No newline at end of file