cmms-embed: add SOURCE.txt (provenance + GPLv3 corresponding-source pointer)
Some checks failed
wasm-build.yml / cmms-embed: add SOURCE.txt (provenance + GPLv3 corresponding-source pointer) (push) Failing after 0s
wasm-build.yml / cmms-embed: add SOURCE.txt (provenance + GPLv3 corresponding-source pointer) (release) Failing after 0s
release / meta (push) Has been cancelled
release / build (push) Has been cancelled
release / publish-wasm (push) Has been cancelled
release / deploy-demo (push) Has been cancelled
release / deploy-editor (push) Has been cancelled
release / Build all tools + KiCad e2e (Ubicloud) (push) Has been cancelled

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
AI_Assistant 2026-09-03 22:52:42 +10:00
commit 1014881551

81
SOURCE.txt Normal file
View file

@ -0,0 +1,81 @@
PCBJam — self-hosted fork (CMMS embed)
======================================
This repository is a self-hosted fork of PCBJam (browser-based KiCad compiled to
WebAssembly), maintained for embedding the editor in the tas-tech.net CMMS
(TT-DB) at /vendor/pcbjam/.
Upstream
--------
https://github.com/emergence-engineering/pcbjam
tracked here as git remote `upstream`.
Forked at upstream commit:
766e2f409fa8b098555226479742ec694709ea48 (branch main, 2026-09-01)
Branches
--------
main pristine mirror of upstream @ 766e2f4 (no local changes)
build/host-networking docker/docker-compose.yml: host networking on the build
host (its dockerd runs bridge:none + iptables:false for
a VPN killswitch, so the image build + compile container
use the host network namespace). 1 commit (28c545f).
cmms-embed build/host-networking + sub-path mount support so the
standalone editor serves under /vendor/pcbjam/ with no
change to KiCad/wxWidgets or @pcbjam/shared. See the
commit message for the file-by-file breakdown. A pure
no-op when built without `--base` (root deploy).
Submodules
----------
Pinned by the superproject gitlinks (nothing in scripts/ overrides them —
`KICAD_COMMIT` in scripts/common/versions.sh is unused/informational):
kicad 56678639eea1b3c0358f384fa47ef7fab78bd09b
upstream https://github.com/PCBJam/kicad-source-mirror (branch wasm-port)
wxwidgets 4e6cc5a441e46ac07b242caa3adacfd8e7c7ec50
upstream https://github.com/PCBJam/wxWidgets (branch wasm-port)
web/pcbjam-shared a4984c626d847bd07ce66148d6ec96fde8ee8e42
upstream https://github.com/PCBJam/pcbjam-shared (branch main)
.gitmodules still points at PCBJam's GitHub forks — these are NOT mirrored into
Forgejo. A checkout needs `git submodule update --init --recursive` against GitHub.
Toolchain / dependency pins (scripts/common/versions.sh)
-------------------------------------------------------
Emscripten SDK 6.0.6 (installed from emsdk inside docker/Dockerfile;
base image ubuntu:22.04)
KiCad 8.99
OpenCASCADE 7.8.0
wxWidgets 3.3.1
Boost 1.84.0
Protobuf 3.21.12
Python 3.11.5
ngspice 46
FreeType 2.13.2
HarfBuzz 8.3.0
Cairo 1.18.0
Pixman 0.42.2
Zstd 1.5.5
GLM 0.9.9.8
(every download in versions.sh also carries a SHA256 pin)
Build
-----
KiCad WASM: ./docker/build.sh kicad_editor -j 4 --build-deps (debug)
./docker/build.sh kicad_editor -j 4 --full --release (ship)
Editor UI: cd web && pnpm install --frozen-lockfile
pnpm --filter @pcbjam/standalone exec vite build --base=/vendor/pcbjam/
(env: web/standalone/.env.production on the cmms-embed branch)
License
-------
KiCad and wxWidgets are GPLv3. PCBJam's own code carries its upstream licenses
(see LICENSE and the per-package headers; @pcbjam/shared is MIT). This fork is
distributed under the same terms.
The corresponding source for any deployed WASM build IS this repository at the
commit the build was made from, together with the submodule revisions its
gitlinks pin (listed above). Repository:
https://repo.tas-tech.net/AI_Assistant/pcbjam