Skip to content

Shared libraries and packages

Nexus packages provide shared runtime services used by tools and applications: core helpers, binding, JSON and JSON-RPC, networking, data access, GUI, compression, graphics, and testing.

The package repositories are separate from executable projects. Examples live in Nexus Lab; original upstream notices remain with imported material.

Use a package in a project

Require its Nexus Build project through an explicit project catalog. The project publishes the directories needed by consumers and can declare producers when compilation or generation is necessary.

See dependencies and publications. Adding a directory to a publication does not itself choose link libraries or create a compiler-native runtime package.

Distinguish the models

Model Purpose
Package metadata/catalog Describe a package's identity, location, and relationships
Nexus Build project Build operations and dependency-first execution
Nexus Pascal runtime package Shared Pascal runtime image and compiler metadata

A catalog entry does not download or build anything simply because it exists. Each consuming tool has its own explicit behavior.

Useful starting points

The attribution record identifies upstream sources and licenses. It does not replace a package's actual build dependencies.

Other library surfaces

Package Developer surface
core, fcl-base Shared helpers, containers, streams, masks, configuration and expression support
db/fcl-db Dataset and database abstractions; a database driver still needs its native client library
serialization/fcl-json, serialization/fcl-xml JSON parser/data APIs and XML DOM/read/write APIs
fcl-process Native child-process APIs and pipes
fcl-registry Platform registry and XML registry APIs; a file-backed XML registry is distinct from the Windows registry
fcl-res Resource file readers and writers
graphics/fcl-image, graphics/pasjpeg Image readers/writers and Pascal JPEG codec
mustache in nexus-packages-ext Upstream SynMustache directly; there is no parallel Nexus template engine
regexpr in nexus-packages-ext Upstream regexpr unit directly

Additional references cover native interfaces and Unicode, compression and hashing, and catalog declarations. Project recipes beside the sources declare the published paths and native producers.