Skip to main content

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 artifacts
  • ogni dist - create a source tarball
  • ogni build - build the package in-tree
  • ogni install - install the package
  • ogni 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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ognibuild-0.0.23.tar.gz (98.8 kB view details)

Uploaded Source

Built Distributions

ognibuild-0.0.23-cp312-cp312-win_amd64.whl (394.0 kB view details)

Uploaded CPython 3.12 Windows x86-64

ognibuild-0.0.23-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (551.2 kB view details)

Uploaded CPython 3.12 manylinux: glibc 2.17+ x86-64

ognibuild-0.0.23-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (570.2 kB view details)

Uploaded CPython 3.12 manylinux: glibc 2.17+ i686 manylinux: glibc 2.5+ i686

ognibuild-0.0.23-cp312-cp312-macosx_11_0_arm64.whl (503.2 kB view details)

Uploaded CPython 3.12 macOS 11.0+ ARM64

ognibuild-0.0.23-cp311-cp311-win_amd64.whl (393.3 kB view details)

Uploaded CPython 3.11 Windows x86-64

ognibuild-0.0.23-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (550.5 kB view details)

Uploaded CPython 3.11 manylinux: glibc 2.17+ x86-64

ognibuild-0.0.23-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (570.2 kB view details)

Uploaded CPython 3.11 manylinux: glibc 2.17+ i686 manylinux: glibc 2.5+ i686

ognibuild-0.0.23-cp311-cp311-macosx_11_0_arm64.whl (503.1 kB view details)

Uploaded CPython 3.11 macOS 11.0+ ARM64

ognibuild-0.0.23-cp310-cp310-win_amd64.whl (393.4 kB view details)

Uploaded CPython 3.10 Windows x86-64

ognibuild-0.0.23-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (550.5 kB view details)

Uploaded CPython 3.10 manylinux: glibc 2.17+ x86-64

ognibuild-0.0.23-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (570.3 kB view details)

Uploaded CPython 3.10 manylinux: glibc 2.17+ i686 manylinux: glibc 2.5+ i686

ognibuild-0.0.23-cp310-cp310-macosx_11_0_arm64.whl (503.6 kB view details)

Uploaded CPython 3.10 macOS 11.0+ ARM64

ognibuild-0.0.23-cp39-cp39-win_amd64.whl (393.5 kB view details)

Uploaded CPython 3.9 Windows x86-64

ognibuild-0.0.23-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (551.1 kB view details)

Uploaded CPython 3.9 manylinux: glibc 2.17+ x86-64

ognibuild-0.0.23-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (572.8 kB view details)

Uploaded CPython 3.9 manylinux: glibc 2.17+ i686 manylinux: glibc 2.5+ i686

ognibuild-0.0.23-cp39-cp39-macosx_11_0_arm64.whl (503.6 kB view details)

Uploaded CPython 3.9 macOS 11.0+ ARM64

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

Hashes for ognibuild-0.0.23.tar.gz
Algorithm Hash digest
SHA256 c9b61ed35e018004630a2a7bb260ae2dc2c8feeeb7dbc430f7f0a124c2addeb3
MD5 438c2cd1beb7e259cee4ebcf3dce55f7
BLAKE2b-256 c5666b2f3d8ca157fa0a06a6f0d466715e2c0bc078abffcf4207c7bb4214e953

See more details on using hashes here.

File details

Details for the file ognibuild-0.0.23-cp312-cp312-win_amd64.whl.

File metadata

File hashes

Hashes for ognibuild-0.0.23-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 896032e67bc927f768a49be4cc717a7ceaa2a13d1528c145afe79c7dd375450b
MD5 597eb65b34676e1f8b456a02ec711908
BLAKE2b-256 6ded317c924df04404625d1bbe45f298b7b848c8b2beb1321f4b0e1c1cfd1ce9

See more details on using hashes here.

File details

Details for the file ognibuild-0.0.23-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for ognibuild-0.0.23-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 94f2fa5ad058dbb68683b83115480b66350e23bafd47a2417a1b181cf850ecfc
MD5 dc2d4681bfb07886435587cded6717fd
BLAKE2b-256 3d582ca53eb010ca0531bff61e9ca1ab75a8458f64f5985a2b3230066a3f05c3

See more details on using hashes here.

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

File hashes

Hashes for ognibuild-0.0.23-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 90a838f2f9aade8a4361a9c8e56ea2be48400b1f772ea337262efee331f7fea5
MD5 756f67238f959b50a1ef6c852e49dfa1
BLAKE2b-256 ac6c547edd8ca8829ca79dcc8467d500610e528ccef2284d2c80691b38a0c152

See more details on using hashes here.

File details

Details for the file ognibuild-0.0.23-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for ognibuild-0.0.23-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 96c5a855bc795824b9b5fb59b124f5db2cfad2a960729b2e70c839183266b544
MD5 4375e60a6210841ccfe48c21637c3e2b
BLAKE2b-256 69e428fbc049cbebbf609db0c197be6d917016e8ed9b8316ed5312a69d823aa9

See more details on using hashes here.

File details

Details for the file ognibuild-0.0.23-cp311-cp311-win_amd64.whl.

File metadata

File hashes

Hashes for ognibuild-0.0.23-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 d5a2e3e81c24e76dd15cb6c7c307bcaf226234552e8233a4eefa21f785cc3e13
MD5 653eff1114543a74c50a3509617f0a23
BLAKE2b-256 99b212179e6b010140a3a7a6af46eff51cbd82226b6422511330ac4d3d772d7f

See more details on using hashes here.

File details

Details for the file ognibuild-0.0.23-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for ognibuild-0.0.23-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 8385ae80dc338be9ed0a4d987ae8fec255e774ff0286b1cac09c0b35f0670656
MD5 c698d0da2f6a895b9792bae7248b66f8
BLAKE2b-256 64450b3a6c48f81a23edd1044911941dd2d704fe0de2ec75344c9fa333860b37

See more details on using hashes here.

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

File hashes

Hashes for ognibuild-0.0.23-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 6790d97260c4be9a8d2cf78a1736cc1fd3a4e4c6fa13858198aaa5df291d8cae
MD5 c5b8ebdb31290d7e23b6e3b2bf2ced12
BLAKE2b-256 aa8d3cf29ccf11daf88b2c18be6ae6425fbd4d169b5f9548c4b03542eb4a7ae0

See more details on using hashes here.

File details

Details for the file ognibuild-0.0.23-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for ognibuild-0.0.23-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 8ffa8969a57727f59860e475c3223ec4c4fbb605d181e3f7a25c16c6d26ba1c2
MD5 12b039109e033d64785b4a8283dcf462
BLAKE2b-256 6ea4b5c84c438689a9e65140375f750046d2ae8fcd367d4515f0a65bbab88678

See more details on using hashes here.

File details

Details for the file ognibuild-0.0.23-cp310-cp310-win_amd64.whl.

File metadata

File hashes

Hashes for ognibuild-0.0.23-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 ac3f8a849a917c6735343879d08175154ff0b2d63cac3e9ca42fce715c54f9b6
MD5 d67a8ed6144ac94ca1298dadb61944e6
BLAKE2b-256 153fb3ba66324cbc11f2ff4889d133f3210dd0add9a990f3d6fece6f06179b18

See more details on using hashes here.

File details

Details for the file ognibuild-0.0.23-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for ognibuild-0.0.23-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 dfd25711b887c1b9f05c1b44c7307ad0f9a3308a155db7fed99359765c1640de
MD5 19604fe03e343d808a1461a9852a6617
BLAKE2b-256 cab2f487e21fd5496b7ec83040f9eacf10731cde48b5bfd7e2a455a01f3d5c17

See more details on using hashes here.

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

File hashes

Hashes for ognibuild-0.0.23-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 86bd4bf0c7f9645eac836e4a07af6b6020f93f4abea8bcea6110b84e9a0afb4b
MD5 f0180b6f0eb9bbb62c7a136e4dbb726a
BLAKE2b-256 044246ea4f3b1268f48e537349cd29b8a29cd25ab2046a6e9b2fa9b223b7fb47

See more details on using hashes here.

File details

Details for the file ognibuild-0.0.23-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for ognibuild-0.0.23-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 a1a8752a97d3dbc45b9c7d00e6ff61b78bda2197794516698fb08e18192d8e5c
MD5 7f18b334fe39178ea76d1e566f259c62
BLAKE2b-256 6936802fdb54650b4e95e5b6a4acef56263ce4e717da78ddf1615ddfdfb56a48

See more details on using hashes here.

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

Hashes for ognibuild-0.0.23-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 7ef9a46088a74f245fdea78b8f3c38bde223e8a38e4be63d3bca3950ae7e978c
MD5 dee871239e8c48c9d6ab352c9edf03e2
BLAKE2b-256 12e6524013166e790bea7c982f15700d644daff865f0f720ff6020fb7ec3b7fe

See more details on using hashes here.

File details

Details for the file ognibuild-0.0.23-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for ognibuild-0.0.23-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 f15e2832d8697e836c7a4eb9423b4b8d68305bb4fae931874594105918ec5025
MD5 058b219e652c0baf1d7f13b6e0492d1a
BLAKE2b-256 a0920fd426aa26a53fa9bf09a7795d4a0e99605068ce08ed2fb52bd67d29914b

See more details on using hashes here.

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

File hashes

Hashes for ognibuild-0.0.23-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 10cbd2a9e87bccee45c4fe11f6094070b4be7c865485c3dc46d17318838a3c72
MD5 17cef47d1740ba3ee6312c8d208d5ad7
BLAKE2b-256 abe3f9fa2b55763e51ae63835b5dbfc3f151d79b9b9726ed59c397ba787e8faf

See more details on using hashes here.

File details

Details for the file ognibuild-0.0.23-cp39-cp39-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for ognibuild-0.0.23-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 63f02819eb48615797758f2811c5a3d18982b1f7b63c75a56f87f77cb1f7a2da
MD5 6f0ed1a74f1ec02a9e55d16b5bbbd149
BLAKE2b-256 ac5ecb6f85f13ad704e5dde1891f8e2b87fc69fe3e1bb2b4c457dfd5ad1b1625

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page