llar

module
v0.3.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 30, 2026 License: Apache-2.0

README

LLAR

Test codecov Language

LLAR is a cloud-based multi-language package manager built with XGo. It resolves dependencies, downloads source code, and builds libraries from source using declarative formulas.

Installation

go install -ldflags="-checklinkname=0" github.com/goplus/llar/cmd/llar@latest

Usage

Install a package
# Install zlib and its dependencies
llar install madler/zlib@v1.3.2

# Show remote build output
llar install -v madler/zlib@v1.3.2

# Install a selected build matrix
llar install --os linux --arch amd64 --option shared=ON madler/zlib@v1.3.2

# Print the installed module result as JSON
llar install --json madler/zlib@v1.3.2

# Install and copy the root artifact into a directory
llar install -o ./zlib-out madler/zlib@v1.3.2

# Install and export the root artifact as an archive
llar install -o zlib.tar.gz madler/zlib@v1.3.2
Build a package
# Build zlib
llar make madler/zlib@v1.3.1

# Build with verbose output
llar make -v madler/zlib@v1.3.1

# Print the build result as JSON
llar make --json madler/zlib@v1.3.1

# Build and export to a directory
llar make -o ./output madler/zlib@v1.3.1

# Build and export as a zip archive
llar make -o zlib.zip madler/zlib@v1.3.1

# Build a local formula
llar make ./@1.0.0
llar make ./madler/zlib@v1.3.1
Commands
Command Description
llar install <module@version> Install a module from LLAR Cloud
llar make <module@version> Build a module from source
llar test <module@version> Verify a module's installed artifacts
Flags for make and install
Flag Description
-v, --verbose Enable verbose build output
-j, --json Print the module result as JSON
-o, --output <path> Output path (directory, .zip, or .tar.gz)

How It Works

  1. Formula resolution - LLAR fetches the build formula for the requested module from the formula hub
  2. Dependency resolution - The formula's onRequire callback extracts dependencies, which are resolved using MVS (Minimum Version Selection)
  3. Build - Dependencies are built first (leaves before roots), then the main module is built via the formula's onBuild callback
  4. Caching - Build results are cached per (module, version, platform) so rebuilds are instant

LLAR Design

Version Comparison
compareVer (a, b) => {  # version comparison
    ...
}
LLAR Formula

See LLAR Formula.

Directories

Path Synopsis
cmd
llar command
llard command
internal
lockedfile
Package lockedfile creates and manipulates files whose contents should only change atomically.
Package lockedfile creates and manipulates files whose contents should only change atomically.
lockedfile/filelock
Package filelock provides a platform-independent API for advisory file locking.
Package filelock provides a platform-independent API for advisory file locking.
modules/modlocal
Package modlocal resolves local filesystem patterns into module paths and their corresponding directories.
Package modlocal resolves local filesystem patterns into module paths and their corresponding directories.
mvs
vcs
mod
module
Package module defines the module.Version type along with support code.
Package module defines the module.Version type along with support code.
versions
Package versions provides functionality for parsing and managing module version files.
Package versions provides functionality for parsing and managing module version files.
x
autotools
Package autotools wraps the classic configure/make/make-install workflow.
Package autotools wraps the classic configure/make/make-install workflow.
cmake
Package cmake wraps the cmake configure/build/install workflow.
Package cmake wraps the cmake configure/build/install workflow.
gnu
metadata/cc
Package cc parses LLAR C/C++ build metadata.
Package cc parses LLAR C/C++ build metadata.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL