Updates to use the cthulhu name with out the go suffix.
This commit is contained in:
1 parent
2ffc987806
commit
7629f838f8
15 files changed
+38
-38
No files matched your search
+1
-1
@@ -9,7 +9,7 @@ directly from a Tentacle.
|
||||
|
||||
Before publishing catalog entries, validate metadata and source, review grants,
|
||||
and test the actual command through the host. Run `make check` for this repository.
|
||||
For reader changes, also run relevant existing Cthulhu-Go tests. Xorg regressions
|
||||
For reader changes, also run relevant existing Cthulhu tests. Xorg regressions
|
||||
block a contribution. Verify keyboard bindings, learn mode, remapping, ordinary
|
||||
reading, speech interruption, speech modes, lock/handoff and connected Braille
|
||||
where affected. Automated results alone cannot prove accessibility acceptance.
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
GOCACHE ?= /tmp/cthulhu-go-cache
|
||||
GOCACHE ?= /tmp/cthulhu-cache
|
||||
export GOCACHE
|
||||
|
||||
.PHONY: build check package
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# Cthulhu Tentacles
|
||||
|
||||
A repository of experimental Tentacles for Cthulhu-Go, maintained by Storm
|
||||
A repository of experimental Tentacles for Cthulhu, maintained by Storm
|
||||
Dragon. It contains [Hello World](hello-world/README.md) and the development
|
||||
[Wormhole tentacle](wormhole/README.md).
|
||||
Repository material and both Tentacles are licensed under GPL-3.0-or-later; see
|
||||
@@ -28,7 +28,7 @@ To write your own, follow the [creation and release tutorial](#create-and-releas
|
||||
|
||||
## Build and check
|
||||
|
||||
Keep the matching experimental `cthulhu-go` checkout beside this directory.
|
||||
Keep the matching experimental `cthulhu` checkout beside this directory.
|
||||
The `go.mod` local replacement uses its Go SDK, including the new
|
||||
uninterruptible presentation option. Building requires Go 1.24 or newer;
|
||||
checks also require Python 3.11 or newer and Make.
|
||||
@@ -41,7 +41,7 @@ make check
|
||||
The executables are `hello-world/bin/hello-world` and
|
||||
`wormhole/bin/wormhole-tentacle`; both are ignored by Git.
|
||||
Checks validate the TOML metadata, registration and suggested bindings, and
|
||||
invoke both Tentacles through the actual Cthulhu-Go host. They produce no speech
|
||||
invoke both Tentacles through the actual Cthulhu host. They produce no speech
|
||||
or Braille and leave the running reader alone.
|
||||
|
||||
## Repository installation
|
||||
@@ -81,12 +81,12 @@ module metadata, trim paths and omit VCS stamping. To build one architecture:
|
||||
python3 -B tools/package.py --architecture amd64
|
||||
```
|
||||
|
||||
Validate the actual host-architecture package through Cthulhu-Go's installer
|
||||
Validate the actual host-architecture package through Cthulhu's installer
|
||||
and command host, without changing the running reader:
|
||||
|
||||
```sh
|
||||
cd ../cthulhu-go
|
||||
CTHULHU_TENTACLE_RELEASE_ROOT=../cthulhu-tentacles GOCACHE=/tmp/cthulhu-go-cache go test ./internal/tentacle -run '^TestBuiltHelloWorldPackageThroughHost$' -count=1 -v
|
||||
cd ../cthulhu
|
||||
CTHULHU_TENTACLE_RELEASE_ROOT=../cthulhu-tentacles GOCACHE=/tmp/cthulhu-cache go test ./internal/tentacle -run '^TestBuiltHelloWorldPackageThroughHost$' -count=1 -v
|
||||
```
|
||||
|
||||
Before publication, review both repositories' changes and contributing guides.
|
||||
@@ -111,7 +111,7 @@ testing, the development launch procedure remains in
|
||||
|
||||
This tutorial creates a native Go Tentacle named **Greeting**, then makes it
|
||||
installable from a repository. The SDK and package format are experimental;
|
||||
use a matching Cthulhu-Go checkout. Currently the installer supports native Linux
|
||||
use a matching Cthulhu checkout. Currently the installer supports native Linux
|
||||
executables, protocol 1.0, command registration and optional presentation access.
|
||||
Python SDK development is separate from this native package workflow. Broader
|
||||
APIs and automatic package updates are still pending.
|
||||
@@ -119,7 +119,7 @@ APIs and automatic package updates are still pending.
|
||||
### 1. Set up the source repository
|
||||
|
||||
You need Go 1.24 or newer, Git, Python 3.11 or newer for this repository's checks,
|
||||
GNU tar and gzip. Keep your new repository beside `cthulhu-go`. From their parent
|
||||
GNU tar and gzip. Keep your new repository beside `cthulhu`. From their parent
|
||||
directory:
|
||||
|
||||
```sh
|
||||
@@ -150,9 +150,9 @@ module example.org/greeting-tentacles
|
||||
|
||||
go 1.24.0
|
||||
|
||||
require git.stormux.org/storm/cthulhu-go v0.0.0
|
||||
require git.stormux.org/storm/cthulhu v0.0.0
|
||||
|
||||
replace git.stormux.org/storm/cthulhu-go => ../cthulhu-go
|
||||
replace git.stormux.org/storm/cthulhu => ../cthulhu
|
||||
```
|
||||
|
||||
The SDK import path names its source project; it does not constrain where you
|
||||
@@ -236,7 +236,7 @@ import (
|
||||
"encoding/json"
|
||||
"os"
|
||||
|
||||
"git.stormux.org/storm/cthulhu-go/sdk/go/tentacle"
|
||||
"git.stormux.org/storm/cthulhu/sdk/go/tentacle"
|
||||
)
|
||||
|
||||
func say_greeting(ctx context.Context, _ json.RawMessage) (any, error) {
|
||||
@@ -284,14 +284,14 @@ From `greeting-tentacles`:
|
||||
```sh
|
||||
gofmt -w greeting/src/main.go
|
||||
mkdir -p greeting/bin
|
||||
CGO_ENABLED=0 GOCACHE=/tmp/cthulhu-go-cache go build -buildvcs=false -mod=readonly -trimpath -o greeting/bin/greeting ./greeting/src
|
||||
GOCACHE=/tmp/cthulhu-go-cache go test ./...
|
||||
CGO_ENABLED=0 GOCACHE=/tmp/cthulhu-cache go build -buildvcs=false -mod=readonly -trimpath -o greeting/bin/greeting ./greeting/src
|
||||
GOCACHE=/tmp/cthulhu-cache go test ./...
|
||||
```
|
||||
|
||||
Invoke the compiled command through the development host. From `cthulhu-go`:
|
||||
Invoke the compiled command through the development host. From `cthulhu`:
|
||||
|
||||
```sh
|
||||
GOCACHE=/tmp/cthulhu-go-cache go run ./cmd/tentacle-host -presentation -command greet "$PWD/../greeting-tentacles/greeting/bin/greeting"
|
||||
GOCACHE=/tmp/cthulhu-cache go run ./cmd/tentacle-host -presentation -command greet "$PWD/../greeting-tentacles/greeting/bin/greeting"
|
||||
```
|
||||
|
||||
Expect JSON containing `speech` and `braille`, both `Hello from Greeting!`.
|
||||
@@ -336,7 +336,7 @@ the manifest on later releases. `set -euo pipefail` stops on build/archive failu
|
||||
set -euo pipefail
|
||||
version=0.1.0
|
||||
for architecture in amd64 arm64; do
|
||||
CGO_ENABLED=0 GOOS=linux GOARCH="$architecture" GOCACHE=/tmp/cthulhu-go-cache \
|
||||
CGO_ENABLED=0 GOOS=linux GOARCH="$architecture" GOCACHE=/tmp/cthulhu-cache \
|
||||
go build -buildvcs=false -mod=readonly -trimpath -ldflags='-s -w' \
|
||||
-o dist/greeting-package/bin/greeting ./greeting/src
|
||||
tar --sort=name --mtime=@0 --owner=0 --group=0 --numeric-owner \
|
||||
|
||||
@@ -2,8 +2,8 @@ module git.stormux.org/storm/cthulhu-tentacles
|
||||
|
||||
go 1.24.0
|
||||
|
||||
require git.stormux.org/storm/cthulhu-go v0.0.0
|
||||
require git.stormux.org/storm/cthulhu v0.0.0
|
||||
|
||||
// The experimental SDK is developed alongside this repository.
|
||||
replace git.stormux.org/storm/cthulhu-go => ../cthulhu-go
|
||||
replace git.stormux.org/storm/cthulhu => ../cthulhu
|
||||
|
||||
@@ -30,12 +30,12 @@ status until Active before trying the shortcut.
|
||||
|
||||
## Local launch
|
||||
|
||||
Run `make build` from the repository root. Rebuild Cthulhu-Go with the matching
|
||||
Run `make build` from the repository root. Rebuild Cthulhu with the matching
|
||||
SDK/output implementation before a live test:
|
||||
|
||||
```sh
|
||||
cd ../cthulhu-go
|
||||
GOCACHE=/tmp/cthulhu-go-cache go build -o /tmp/cthulhu-with-hello-world ./cmd/cthulhu
|
||||
cd ../cthulhu
|
||||
GOCACHE=/tmp/cthulhu-cache go build -o /tmp/cthulhu-with-hello-world ./cmd/cthulhu
|
||||
```
|
||||
|
||||
Create a development launch list with an absolute executable path. From this
|
||||
|
||||
@@ -8,7 +8,7 @@ import (
|
||||
"encoding/json"
|
||||
"os"
|
||||
|
||||
"git.stormux.org/storm/cthulhu-go/sdk/go/tentacle"
|
||||
"git.stormux.org/storm/cthulhu/sdk/go/tentacle"
|
||||
)
|
||||
|
||||
func say_hello(ctx context.Context, _ json.RawMessage) (any, error) {
|
||||
|
||||
@@ -18,6 +18,6 @@ major = 1
|
||||
minor = 0
|
||||
|
||||
[requirements]
|
||||
reader = "Cthulhu-Go with uninterruptible presentation support"
|
||||
build = "Go 1.24 or newer and the adjacent cthulhu-go source checkout"
|
||||
reader = "Cthulhu with uninterruptible presentation support"
|
||||
build = "Go 1.24 or newer and the adjacent cthulhu source checkout"
|
||||
|
||||
+2
-2
@@ -98,9 +98,9 @@ def check_registration(programPath, name):
|
||||
|
||||
|
||||
def check_host(repoRoot, programPath, name):
|
||||
readerRoot = repoRoot.parent / "cthulhu-go"
|
||||
readerRoot = repoRoot.parent / "cthulhu"
|
||||
environment = os.environ.copy()
|
||||
environment.setdefault("GOCACHE", "/tmp/cthulhu-go-cache")
|
||||
environment.setdefault("GOCACHE", "/tmp/cthulhu-cache")
|
||||
flags = ["-interaction"] if name == "wormhole" else []
|
||||
result = subprocess.run([
|
||||
"go", "run", "./cmd/tentacle-host", "-presentation",
|
||||
|
||||
+1
-1
@@ -23,7 +23,7 @@ def build_package(repoRoot, architecture, version, name):
|
||||
distRoot.mkdir(exist_ok=True)
|
||||
programPath = distRoot / f"{name}-linux-{architecture}"
|
||||
environment = dict(os.environ, CGO_ENABLED="0", GOOS="linux", GOARCH=architecture)
|
||||
environment.setdefault("GOCACHE", "/tmp/cthulhu-go-cache")
|
||||
environment.setdefault("GOCACHE", "/tmp/cthulhu-cache")
|
||||
subprocess.run(["go", "build", "-buildvcs=false", "-mod=readonly", "-trimpath",
|
||||
"-ldflags=-s -w", "-o", str(programPath), f"./{name}/src"],
|
||||
cwd=repoRoot, env=environment, check=True)
|
||||
|
||||
+3
-3
@@ -1,6 +1,6 @@
|
||||
# Wormhole
|
||||
|
||||
An experimental Magic Wormhole Tentacle for Cthulhu-Go. Suggested shortcut:
|
||||
An experimental Magic Wormhole Tentacle for Cthulhu. Suggested shortcut:
|
||||
**Cthulhu+Ctrl+Shift+W**, on desktop and laptop layouts. It opens the reader's
|
||||
internal **Wormhole menu**, preserving the underlying application's focus.
|
||||
|
||||
@@ -72,7 +72,7 @@ received text or launches a shell for transfers. Consult the
|
||||
|
||||
## Build and local launch
|
||||
|
||||
Keep this repository beside the matching `cthulhu-go` checkout:
|
||||
Keep this repository beside the matching `cthulhu` checkout:
|
||||
|
||||
```sh
|
||||
make build
|
||||
@@ -155,5 +155,5 @@ After configuring the local entry:
|
||||
|
||||
Report the exact speech and braille, the focused control, the clipboard contents,
|
||||
and any key that behaved differently. Unexpected results should be diagnosed
|
||||
from `~/devel/cthulhu-go.log`. Automated and private Xorg checks do not establish
|
||||
from `~/devel/cthulhu.log`. Automated and private Xorg checks do not establish
|
||||
physical speech, keyboard or braille acceptance.
|
||||
@@ -9,7 +9,7 @@ import (
|
||||
"path/filepath"
|
||||
"sync"
|
||||
|
||||
"git.stormux.org/storm/cthulhu-go/sdk/go/tentacle"
|
||||
"git.stormux.org/storm/cthulhu/sdk/go/tentacle"
|
||||
)
|
||||
|
||||
type preferences struct {
|
||||
|
||||
@@ -21,7 +21,7 @@ import (
|
||||
"unicode"
|
||||
"unicode/utf8"
|
||||
|
||||
"git.stormux.org/storm/cthulhu-go/sdk/go/tentacle"
|
||||
"git.stormux.org/storm/cthulhu/sdk/go/tentacle"
|
||||
)
|
||||
|
||||
var lookPath = exec.LookPath
|
||||
|
||||
@@ -2,7 +2,7 @@ package main
|
||||
|
||||
import (
|
||||
"context"
|
||||
sdk "git.stormux.org/storm/cthulhu-go/sdk/go/tentacle"
|
||||
sdk "git.stormux.org/storm/cthulhu/sdk/go/tentacle"
|
||||
"os"
|
||||
"os/exec"
|
||||
"path/filepath"
|
||||
|
||||
@@ -3,7 +3,7 @@ package main
|
||||
import (
|
||||
"context"
|
||||
"encoding/json"
|
||||
"git.stormux.org/storm/cthulhu-go/sdk/go/tentacle"
|
||||
"git.stormux.org/storm/cthulhu/sdk/go/tentacle"
|
||||
"os"
|
||||
"path/filepath"
|
||||
"strings"
|
||||
|
||||
@@ -18,6 +18,6 @@ major = 1
|
||||
minor = 0
|
||||
|
||||
[requirements]
|
||||
reader = "Cthulhu-Go with interactive Tentacle settings support"
|
||||
reader = "Cthulhu with interactive Tentacle settings support"
|
||||
runtime = "Magic Wormhole CLI (wormhole); xclip for clipboard operations"
|
||||
build = "Go 1.24 or newer and the adjacent cthulhu-go source checkout"
|
||||
build = "Go 1.24 or newer and the adjacent cthulhu source checkout"
|
||||
Reference in new issue
Block a user