netsurf

README.md

NetSurf for Plan 9

A monorepo of the NetSurf browser and the dependencies used by its Plan 9 / 9front port, maintained under Lael Labs.

Source layout

All 19 selected components are imported under src/. The nsport build infrastructure occupies src/ itself: mkfile, nsport.mk, nsportlib.mk, posix/, and genfiles/. The browser and 17 other components occupy their original named directories beneath it. This preserves the relative paths expected by the Plan 9 build.

UPSTREAM.json records each original repository, branch, and exact imported commit. These are source snapshots; the original Git histories remain in the linked repositories. Existing license files and copyright notices are retained within each component; no single replacement license is applied to the collection.

The archived libnsfb, libpencil, librosprite, and librufl repositories are excluded. The old organization profile is also excluded.

Build on Plan 9 / 9front

Use an up-to-date 9front system with its APE environment and git9 client:

git/clone https://github.com/lael-labs/netsurf
cd netsurf/src
mk
mk install

Ensure webfs is running, then run netsurf.

The monorepo contains the dependencies already: do not run the old fetch clone workflow. Update the repository using git/pull from the checkout root. The original fetch script is retained only as historical documentation in docs/legacy-fetch.rc; it is not part of this build workflow.

nsgenbind is preserved for regenerating JavaScript/DOM bindings. The normal Plan 9 build uses generated sources supplied in src/genfiles/; the generator is not built by the top-level mkfile.

This import has been checked for source fidelity and build-directory consistency. A native Plan 9 build and runtime test have not yet been performed.

Credits

This work builds on NetSurf and the netsurf-plan9 contributors. The port's original README credits phil9 (@telephil9) as maintainer, with contributions from Ori Bernstein, Sigrid, Michael Forney, Jonas Amoson, and Kyle Nusbaum. Original documentation and notices are retained in src/.