Detect and run any build system
Project description
ognibuild
Ognibuild is a simple wrapper with a common interface for invoking any kind of build tool.
The ideas is that it can be run to build and install any source code directory by detecting the build system that is in use and invoking that with the correct parameters.
It can also detect and install missing dependencies.
Goals
The goal of ognibuild is to provide a consistent CLI that can be used for any software package. It is mostly useful for automated building of large sets of diverse packages (e.g. different programming languages).
It is not meant to expose all functionality that is present in the underlying build systems. To use that, invoke those build systems directly.
Usage
Ognibuild has a number of subcommands:
ogni clean
- remove any built artifactsogni dist
- create a source tarballogni build
- build the package in-treeogni install
- install the packageogni test
- run the testsuite in the source directory
It also includes a subcommand that can fix up the build dependencies for Debian packages, called deb-fix-build.
Examples
ogni -d https://gitlab.gnome.org/GNOME/fractal install
Status
Ognibuild is functional, but sometimes rough around the edges. If you run into issues (or lack of support for a particular ecosystem), please file a bug.
Supported Build Systems
- Bazel
- Cabal
- Cargo
- Golang
- Gradle
- Make, including various makefile generators:
- autoconf/automake
- CMake
- Makefile.PL
- qmake
- Maven
- ninja, including ninja file generators:
- meson
- Node
- Octave
- Perl
- Module::Build::Tiny
- Dist::Zilla
- Minilla
- PHP Pear
- Python - setup.py/setup.cfg/pyproject.toml
- R
- Ruby gems
- Waf
Supported package repositories
Package repositories are used to install missing dependencies.
The following "native" repositories are supported:
- pypi
- cpan
- hackage
- npm
- cargo
- cran
- golang*
As well one distribution repository:
- apt
License
Ognibuild is licensed under the GNU GPL, v2 or later.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distributions
File details
Details for the file ognibuild-0.0.23.tar.gz
.
File metadata
- Download URL: ognibuild-0.0.23.tar.gz
- Upload date:
- Size: 98.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/5.0.0 CPython/3.12.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | c9b61ed35e018004630a2a7bb260ae2dc2c8feeeb7dbc430f7f0a124c2addeb3 |
|
MD5 | 438c2cd1beb7e259cee4ebcf3dce55f7 |
|
BLAKE2b-256 | c5666b2f3d8ca157fa0a06a6f0d466715e2c0bc078abffcf4207c7bb4214e953 |
File details
Details for the file ognibuild-0.0.23-cp312-cp312-win_amd64.whl
.
File metadata
- Download URL: ognibuild-0.0.23-cp312-cp312-win_amd64.whl
- Upload date:
- Size: 394.0 kB
- Tags: CPython 3.12, Windows x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/5.0.0 CPython/3.12.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 896032e67bc927f768a49be4cc717a7ceaa2a13d1528c145afe79c7dd375450b |
|
MD5 | 597eb65b34676e1f8b456a02ec711908 |
|
BLAKE2b-256 | 6ded317c924df04404625d1bbe45f298b7b848c8b2beb1321f4b0e1c1cfd1ce9 |
File details
Details for the file ognibuild-0.0.23-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
.
File metadata
- Download URL: ognibuild-0.0.23-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 551.2 kB
- Tags: CPython 3.12, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/5.0.0 CPython/3.12.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 94f2fa5ad058dbb68683b83115480b66350e23bafd47a2417a1b181cf850ecfc |
|
MD5 | dc2d4681bfb07886435587cded6717fd |
|
BLAKE2b-256 | 3d582ca53eb010ca0531bff61e9ca1ab75a8458f64f5985a2b3230066a3f05c3 |
File details
Details for the file ognibuild-0.0.23-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
.
File metadata
- Download URL: ognibuild-0.0.23-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
- Upload date:
- Size: 570.2 kB
- Tags: CPython 3.12, manylinux: glibc 2.17+ i686, manylinux: glibc 2.5+ i686
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/5.0.0 CPython/3.12.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 90a838f2f9aade8a4361a9c8e56ea2be48400b1f772ea337262efee331f7fea5 |
|
MD5 | 756f67238f959b50a1ef6c852e49dfa1 |
|
BLAKE2b-256 | ac6c547edd8ca8829ca79dcc8467d500610e528ccef2284d2c80691b38a0c152 |
File details
Details for the file ognibuild-0.0.23-cp312-cp312-macosx_11_0_arm64.whl
.
File metadata
- Download URL: ognibuild-0.0.23-cp312-cp312-macosx_11_0_arm64.whl
- Upload date:
- Size: 503.2 kB
- Tags: CPython 3.12, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/5.0.0 CPython/3.12.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 96c5a855bc795824b9b5fb59b124f5db2cfad2a960729b2e70c839183266b544 |
|
MD5 | 4375e60a6210841ccfe48c21637c3e2b |
|
BLAKE2b-256 | 69e428fbc049cbebbf609db0c197be6d917016e8ed9b8316ed5312a69d823aa9 |
File details
Details for the file ognibuild-0.0.23-cp311-cp311-win_amd64.whl
.
File metadata
- Download URL: ognibuild-0.0.23-cp311-cp311-win_amd64.whl
- Upload date:
- Size: 393.3 kB
- Tags: CPython 3.11, Windows x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/5.0.0 CPython/3.12.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | d5a2e3e81c24e76dd15cb6c7c307bcaf226234552e8233a4eefa21f785cc3e13 |
|
MD5 | 653eff1114543a74c50a3509617f0a23 |
|
BLAKE2b-256 | 99b212179e6b010140a3a7a6af46eff51cbd82226b6422511330ac4d3d772d7f |
File details
Details for the file ognibuild-0.0.23-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
.
File metadata
- Download URL: ognibuild-0.0.23-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 550.5 kB
- Tags: CPython 3.11, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/5.0.0 CPython/3.12.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8385ae80dc338be9ed0a4d987ae8fec255e774ff0286b1cac09c0b35f0670656 |
|
MD5 | c698d0da2f6a895b9792bae7248b66f8 |
|
BLAKE2b-256 | 64450b3a6c48f81a23edd1044911941dd2d704fe0de2ec75344c9fa333860b37 |
File details
Details for the file ognibuild-0.0.23-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
.
File metadata
- Download URL: ognibuild-0.0.23-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
- Upload date:
- Size: 570.2 kB
- Tags: CPython 3.11, manylinux: glibc 2.17+ i686, manylinux: glibc 2.5+ i686
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/5.0.0 CPython/3.12.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6790d97260c4be9a8d2cf78a1736cc1fd3a4e4c6fa13858198aaa5df291d8cae |
|
MD5 | c5b8ebdb31290d7e23b6e3b2bf2ced12 |
|
BLAKE2b-256 | aa8d3cf29ccf11daf88b2c18be6ae6425fbd4d169b5f9548c4b03542eb4a7ae0 |
File details
Details for the file ognibuild-0.0.23-cp311-cp311-macosx_11_0_arm64.whl
.
File metadata
- Download URL: ognibuild-0.0.23-cp311-cp311-macosx_11_0_arm64.whl
- Upload date:
- Size: 503.1 kB
- Tags: CPython 3.11, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/5.0.0 CPython/3.12.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8ffa8969a57727f59860e475c3223ec4c4fbb605d181e3f7a25c16c6d26ba1c2 |
|
MD5 | 12b039109e033d64785b4a8283dcf462 |
|
BLAKE2b-256 | 6ea4b5c84c438689a9e65140375f750046d2ae8fcd367d4515f0a65bbab88678 |
File details
Details for the file ognibuild-0.0.23-cp310-cp310-win_amd64.whl
.
File metadata
- Download URL: ognibuild-0.0.23-cp310-cp310-win_amd64.whl
- Upload date:
- Size: 393.4 kB
- Tags: CPython 3.10, Windows x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/5.0.0 CPython/3.12.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | ac3f8a849a917c6735343879d08175154ff0b2d63cac3e9ca42fce715c54f9b6 |
|
MD5 | d67a8ed6144ac94ca1298dadb61944e6 |
|
BLAKE2b-256 | 153fb3ba66324cbc11f2ff4889d133f3210dd0add9a990f3d6fece6f06179b18 |
File details
Details for the file ognibuild-0.0.23-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
.
File metadata
- Download URL: ognibuild-0.0.23-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 550.5 kB
- Tags: CPython 3.10, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/5.0.0 CPython/3.12.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | dfd25711b887c1b9f05c1b44c7307ad0f9a3308a155db7fed99359765c1640de |
|
MD5 | 19604fe03e343d808a1461a9852a6617 |
|
BLAKE2b-256 | cab2f487e21fd5496b7ec83040f9eacf10731cde48b5bfd7e2a455a01f3d5c17 |
File details
Details for the file ognibuild-0.0.23-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
.
File metadata
- Download URL: ognibuild-0.0.23-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
- Upload date:
- Size: 570.3 kB
- Tags: CPython 3.10, manylinux: glibc 2.17+ i686, manylinux: glibc 2.5+ i686
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/5.0.0 CPython/3.12.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 86bd4bf0c7f9645eac836e4a07af6b6020f93f4abea8bcea6110b84e9a0afb4b |
|
MD5 | f0180b6f0eb9bbb62c7a136e4dbb726a |
|
BLAKE2b-256 | 044246ea4f3b1268f48e537349cd29b8a29cd25ab2046a6e9b2fa9b223b7fb47 |
File details
Details for the file ognibuild-0.0.23-cp310-cp310-macosx_11_0_arm64.whl
.
File metadata
- Download URL: ognibuild-0.0.23-cp310-cp310-macosx_11_0_arm64.whl
- Upload date:
- Size: 503.6 kB
- Tags: CPython 3.10, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/5.0.0 CPython/3.12.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | a1a8752a97d3dbc45b9c7d00e6ff61b78bda2197794516698fb08e18192d8e5c |
|
MD5 | 7f18b334fe39178ea76d1e566f259c62 |
|
BLAKE2b-256 | 6936802fdb54650b4e95e5b6a4acef56263ce4e717da78ddf1615ddfdfb56a48 |
File details
Details for the file ognibuild-0.0.23-cp39-cp39-win_amd64.whl
.
File metadata
- Download URL: ognibuild-0.0.23-cp39-cp39-win_amd64.whl
- Upload date:
- Size: 393.5 kB
- Tags: CPython 3.9, Windows x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/5.0.0 CPython/3.12.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7ef9a46088a74f245fdea78b8f3c38bde223e8a38e4be63d3bca3950ae7e978c |
|
MD5 | dee871239e8c48c9d6ab352c9edf03e2 |
|
BLAKE2b-256 | 12e6524013166e790bea7c982f15700d644daff865f0f720ff6020fb7ec3b7fe |
File details
Details for the file ognibuild-0.0.23-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
.
File metadata
- Download URL: ognibuild-0.0.23-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 551.1 kB
- Tags: CPython 3.9, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/5.0.0 CPython/3.12.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | f15e2832d8697e836c7a4eb9423b4b8d68305bb4fae931874594105918ec5025 |
|
MD5 | 058b219e652c0baf1d7f13b6e0492d1a |
|
BLAKE2b-256 | a0920fd426aa26a53fa9bf09a7795d4a0e99605068ce08ed2fb52bd67d29914b |
File details
Details for the file ognibuild-0.0.23-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
.
File metadata
- Download URL: ognibuild-0.0.23-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
- Upload date:
- Size: 572.8 kB
- Tags: CPython 3.9, manylinux: glibc 2.17+ i686, manylinux: glibc 2.5+ i686
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/5.0.0 CPython/3.12.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 10cbd2a9e87bccee45c4fe11f6094070b4be7c865485c3dc46d17318838a3c72 |
|
MD5 | 17cef47d1740ba3ee6312c8d208d5ad7 |
|
BLAKE2b-256 | abe3f9fa2b55763e51ae63835b5dbfc3f151d79b9b9726ed59c397ba787e8faf |
File details
Details for the file ognibuild-0.0.23-cp39-cp39-macosx_11_0_arm64.whl
.
File metadata
- Download URL: ognibuild-0.0.23-cp39-cp39-macosx_11_0_arm64.whl
- Upload date:
- Size: 503.6 kB
- Tags: CPython 3.9, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/5.0.0 CPython/3.12.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 63f02819eb48615797758f2811c5a3d18982b1f7b63c75a56f87f77cb1f7a2da |
|
MD5 | 6f0ed1a74f1ec02a9e55d16b5bbbd149 |
|
BLAKE2b-256 | ac5ecb6f85f13ad704e5dde1891f8e2b87fc69fe3e1bb2b4c457dfd5ad1b1625 |