llar

module
v0.2.0 Latest Latest
Warning

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

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

README

LLAR Logo

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

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 make <module@version> Build a module from source
Flags for make
Flag Description
-v, --verbose Enable verbose build output
-j, --json Print the build result as JSON
-o, --output <path> Output path (directory or .zip file)

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