Skip to content

goplus/llar

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

59 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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

# 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
-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.

About

Cloud-based Package Management Service

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages