A library of reusable software definitions for gomnibus — the Go-based Omnibus build system. Each YAML file describes how to fetch, build, and install an upstream software component into a gomnibus install root.
Add this library as a git submodule:
git submodule add https://github.com/syntaxroot-cc/gomnibus-software lib/gomnibus-softwareThen point gomnibus.yaml at it. List your project's own definitions first — the registry uses first-found, so project-local definitions shadow the library:
# gomnibus.yaml
software_dirs:
- config/software # project-local (takes precedence)
- lib/gomnibus-software/config/software # shared libraryAfter cloning a project that uses this library:
git submodule update --initDeclare the software in your project:
# config/projects/myapp.yaml
dependencies:
- zlib
- openssl
- myapp-software| Name | Default version | License |
|---|---|---|
| bzip2 | 1.0.8 | BSD-2-Clause |
| cacerts | 2022-10-11 | MPL-2.0 |
| curl | 8.14.1 | MIT |
| libffi | 3.4.6 | MIT |
| libyaml | 0.2.5 | MIT |
| ncurses | 6.4 | MIT |
| openssl | 3.3.1 | OpenSSL |
| zlib | 1.3.1 | Zlib |
See CONTRIBUTING.md. Enable the pre-commit gofmt hook after cloning:
git config core.hooksPath .githooksTo add a new definition, create config/software/<name>.yaml following the gomnibus software YAML schema. The CI suite validates that all definitions parse correctly, all URL sources have checksums, and all declared dependencies exist in the library.