Extract sigil-socket from sigil monorepo as standalone repo
Scaffolding for the standalone single-package repo:
- package.sgl: add explicit version: "0.13.1"; rewrite url: to https://codeberg.org/sigil/sigil-socket. Single dep on sigil-stdlib via codeberg:sigil/sigil-lang is unchanged. - README.md: package overview + usage + build/test instructions. - .gitignore: build/ + .sigil/ (machine-specific symlinks). - manifest.scm: pure-Scheme guix-shell environment. - dev-redirects.sgl: redirect codeberg:sigil/sigil-lang to a sibling checkout for local pre-publish development. - sigil.lock: auto-generated, pinning sigil-stdlib to v0.13.1 (a436005a) from published codeberg:sigil/sigil-lang.
Self-bootstrap: sigil deps install + sigil test --report green (27/27 passed) against published codeberg:sigil/sigil-lang.
Filter-repo preserved 34 commits from packages/sigil-socket/ in the monorepo.
Reference playbook: procedures/sigil-package-extraction.
.gitignore | 2 ++
README.md | 58 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
dev-redirects.sgl | 6 ++++++
manifest.scm | 7 +++++++
package.sgl | 3 ++-
sigil.lock | 9 +++++++++
6 files changed, 84 insertions(+), 1 deletion(-).gitignoreadded
build/.sigil/README.mdadded
# sigil-socketTCP, UDP, and Unix domain socket operations for [Sigil](https://codeberg.org/sigil/sigil).Provides network socket primitives suitable for both blocking and non-blockingI/O, including integration with Sigil's coroutine-based async runtime.This package was extracted from the sigil monorepo — the in-tree historyunder `packages/sigil-socket/` is preserved here as `master`.## Usage```scheme(import (sigil socket));; TCP client(let ((sock (tcp-connect "example.com" 80))) (socket-write-line sock "GET / HTTP/1.0") (socket-write-line sock "") (display (socket-read-all sock)) (socket-close sock));; TCP server(let ((server (tcp-listen 8080))) (let loop () (let ((client (tcp-accept server))) (socket-write-line client "Hello!") (socket-close client) (loop))));; UDP(let ((sock (udp-socket))) (udp-send sock "127.0.0.1" 5000 "Hello") (socket-close sock))```The full export list lives at the top of `src/sigil/socket.sgl`. See`docs/socket.md` for a usage guide.## Build & testThis is a pure-Scheme package. No native build step.```bashsigil deps install # fetch sigil-stdlib via codeberg:sigil/sigil-langsigil test --report # run test/test-socket.sgl```For local development against an unpublished sigil-lang, use`dev-redirects.sgl` (sibling checkout at `../sigil-lang/`):```bashsigil deps install --redirects ./dev-redirects.sglsigil test --redirects ./dev-redirects.sgl --report```## LicenseBSD-3-Clause. See the monorepo for the canonical license text.dev-redirects.sgladded
;; Development redirects — point dependencies at local Sigil checkouts(redirects repos: (list (for-repo url: "codeberg:sigil/sigil-lang" use: (from-path dir: "../sigil-lang"))))manifest.scmadded
;; sigil-socket development environment;; Use with: guix shell -m manifest.scm(specifications->manifest '("gcc-toolchain" "make" "pkg-config"))package.sglmodified
(package name: "sigil-socket" version: "0.13.1" sigil: "^0.13" description: "TCP/UDP socket operations for Sigil" url: "https://codeberg.org/sigil/sigil" url: "https://codeberg.org/sigil/sigil-socket" license: "BSD-3-Clause" authors: (list "David Wilson <[email protected]>")sigil.lockadded
;; Auto-generated by sigil deps install. Do not edit.(lock (package name: "sigil-stdlib" url: "codeberg:sigil/sigil-lang" ref: "^0.13.1" sha: "a436005a34754522d3c38b608aa892b4f8e13dd3" package-selector: "sigil-stdlib" version: "0.13.1"))