llar

module
v0.1.1 Latest Latest
Warning

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

Go to latest
Published: Feb 14, 2026 License: Apache-2.0

README

LLAR Logo

LLAR

Test Go Report Card 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

# 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
Commands
Command Description
llar make <module@version> Build a module from source
Flags for make
Flag Description
-v, --verbose Enable verbose build output
-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
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.
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

Jump to

Keyboard shortcuts

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