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.21.tar.gz (81.5 kB view details)

Uploaded Source

Built Distributions

ognibuild-0.0.21-pp310-pypy310_pp73-win_amd64.whl (263.9 kB view details)

Uploaded PyPy Windows x86-64

ognibuild-0.0.21-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (412.1 kB view details)

Uploaded PyPy manylinux: glibc 2.17+ x86-64

ognibuild-0.0.21-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (432.3 kB view details)

Uploaded PyPy manylinux: glibc 2.17+ i686 manylinux: glibc 2.5+ i686

ognibuild-0.0.21-pp310-pypy310_pp73-macosx_11_0_arm64.whl (377.4 kB view details)

Uploaded PyPy macOS 11.0+ ARM64

ognibuild-0.0.21-pp39-pypy39_pp73-win_amd64.whl (263.9 kB view details)

Uploaded PyPy Windows x86-64

ognibuild-0.0.21-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (412.0 kB view details)

Uploaded PyPy manylinux: glibc 2.17+ x86-64

ognibuild-0.0.21-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (432.2 kB view details)

Uploaded PyPy manylinux: glibc 2.17+ i686 manylinux: glibc 2.5+ i686

ognibuild-0.0.21-pp39-pypy39_pp73-macosx_11_0_arm64.whl (377.3 kB view details)

Uploaded PyPy macOS 11.0+ ARM64

ognibuild-0.0.21-cp312-cp312-win_amd64.whl (262.8 kB view details)

Uploaded CPython 3.12 Windows x86-64

ognibuild-0.0.21-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (409.8 kB view details)

Uploaded CPython 3.12 manylinux: glibc 2.17+ x86-64

ognibuild-0.0.21-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (429.7 kB view details)

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

ognibuild-0.0.21-cp312-cp312-macosx_11_0_arm64.whl (374.7 kB view details)

Uploaded CPython 3.12 macOS 11.0+ ARM64

ognibuild-0.0.21-cp311-cp311-win_amd64.whl (262.1 kB view details)

Uploaded CPython 3.11 Windows x86-64

ognibuild-0.0.21-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (410.8 kB view details)

Uploaded CPython 3.11 manylinux: glibc 2.17+ x86-64

ognibuild-0.0.21-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (430.8 kB view details)

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

ognibuild-0.0.21-cp311-cp311-macosx_11_0_arm64.whl (375.5 kB view details)

Uploaded CPython 3.11 macOS 11.0+ ARM64

ognibuild-0.0.21-cp310-cp310-win_amd64.whl (262.1 kB view details)

Uploaded CPython 3.10 Windows x86-64

ognibuild-0.0.21-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (410.8 kB view details)

Uploaded CPython 3.10 manylinux: glibc 2.17+ x86-64

ognibuild-0.0.21-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (430.8 kB view details)

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

ognibuild-0.0.21-cp310-cp310-macosx_11_0_arm64.whl (375.5 kB view details)

Uploaded CPython 3.10 macOS 11.0+ ARM64

ognibuild-0.0.21-cp39-cp39-win_amd64.whl (262.1 kB view details)

Uploaded CPython 3.9 Windows x86-64

ognibuild-0.0.21-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (410.8 kB view details)

Uploaded CPython 3.9 manylinux: glibc 2.17+ x86-64

ognibuild-0.0.21-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (430.5 kB view details)

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

ognibuild-0.0.21-cp39-cp39-macosx_11_0_arm64.whl (375.4 kB view details)

Uploaded CPython 3.9 macOS 11.0+ ARM64

File details

Details for the file ognibuild-0.0.21.tar.gz.

File metadata

  • Download URL: ognibuild-0.0.21.tar.gz
  • Upload date:
  • Size: 81.5 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.21.tar.gz
Algorithm Hash digest
SHA256 b00969381caa7fa57537729d5e3d1fbad1cdef1362e65188889ed0f8607333e5
MD5 2990d01e97526cdac46860d3b93fb9d2
BLAKE2b-256 de98f92d21fba76a67aec50bc1e4fff780989b5779fbd7fee0b6cf2ca04d6ff4

See more details on using hashes here.

File details

Details for the file ognibuild-0.0.21-pp310-pypy310_pp73-win_amd64.whl.

File metadata

File hashes

Hashes for ognibuild-0.0.21-pp310-pypy310_pp73-win_amd64.whl
Algorithm Hash digest
SHA256 ad9217234d88a50fa3d63987ee6cd063d4615fc0f947f9630162e1d34c756bbb
MD5 92c230abf91e760dcda254c49c17a691
BLAKE2b-256 bc1d2b9e966e234c1f0bb2dc23d14998dbc6541ef744df6d817232e058f0204c

See more details on using hashes here.

File details

Details for the file ognibuild-0.0.21-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for ognibuild-0.0.21-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 8d6aa463173e17398eb70734b302bce6990d74c2155b113c4cc1dd5e851c9191
MD5 f0de4d7bc398a8bdb42b674269dc2cbc
BLAKE2b-256 4c9cd87e1bce32199935acd72b9497f4f463e6f295660ab3d2503bab3a7d1873

See more details on using hashes here.

File details

Details for the file ognibuild-0.0.21-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for ognibuild-0.0.21-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 e949d5541c5099fc13bc974c8d51e55d0c228b323a86b8728e79d029c9d56727
MD5 3c020ef452ffbae0b0d63bb58dd99cf7
BLAKE2b-256 c6ec437f87a9a8af7b7f1b25daca5a95dc316d98ed56675b26d0f13cff5e8576

See more details on using hashes here.

File details

Details for the file ognibuild-0.0.21-pp310-pypy310_pp73-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for ognibuild-0.0.21-pp310-pypy310_pp73-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 55898eb80a0398a835b4dca6a805edb21d67c13e6122e3fed73c7d6d116d2ee0
MD5 a22a4fb6cd1ed72ed6c903e49a667274
BLAKE2b-256 ae3b42c016885ed407e29b4542ae2f3c0e6ffdf97e63640f24a8e3eea80bbdd6

See more details on using hashes here.

File details

Details for the file ognibuild-0.0.21-pp39-pypy39_pp73-win_amd64.whl.

File metadata

File hashes

Hashes for ognibuild-0.0.21-pp39-pypy39_pp73-win_amd64.whl
Algorithm Hash digest
SHA256 baa9ac76d6e20368ab4a6e54cbdc68f01d2e4b7e03e849c778da5558a6559d70
MD5 c0fd9801086462ed354ed4161eb6c0f7
BLAKE2b-256 b19fe01361657227f89925f9dc12665e7308d3385d31ff0b4d4967fee0825e81

See more details on using hashes here.

File details

Details for the file ognibuild-0.0.21-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for ognibuild-0.0.21-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 490e8ef94172c40ee42aa2fb93c71bf4e5deba0cc1eee98b98a34a16e78eb82c
MD5 6c3e55d3eb94037980d0326cb51ecb86
BLAKE2b-256 1922abebcdb7afabcff05e1f1a34549b4e9945043c16e5c2d9267bc6de1ac4a7

See more details on using hashes here.

File details

Details for the file ognibuild-0.0.21-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for ognibuild-0.0.21-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 6e71391fe768560f269bcd9f8c401317aa8f42972dcacc34de0e6b3fa4ccf727
MD5 d08912929f6b6dc2f46848a9937f9a8e
BLAKE2b-256 e0a0cc934167ca9a0ac5372b9cbc918a04818b4a9433db4729ca597372430e38

See more details on using hashes here.

File details

Details for the file ognibuild-0.0.21-pp39-pypy39_pp73-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for ognibuild-0.0.21-pp39-pypy39_pp73-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 fa829a952fc584faad6fddc45e4dce28060a24e0bf94e0c351d1cb5bf54ae595
MD5 a6ee89c803351fa94c23c4805f7af2b8
BLAKE2b-256 d7979e1c1da9e62b3eda724a1a290b2af02bf98f6e8d92aa9a3f18a12f5ca5ce

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ognibuild-0.0.21-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 d8dc2d5b848e2c7ad2b5be3ce2c63f810daf5757de86414112e2c5dbff3c52cf
MD5 6ec4736d27494a809163cbdcbde019a9
BLAKE2b-256 65c8326ecbc6da10ff7630d8afa5173eb86d59941ccd771964b1549360644b8d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ognibuild-0.0.21-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 a3f9809ca6a6ead0f1ee448f106d4108f3c4ac02960cdc2db7ff1b67e3f8febd
MD5 1ed01ad455f56fbb6efe46a7bfe932a5
BLAKE2b-256 8bc91d76272753ada7d3d50977fe5888250fc2f614580e096a365a8ef99591f7

See more details on using hashes here.

File details

Details for the file ognibuild-0.0.21-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for ognibuild-0.0.21-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 2bc626fa702fcf02ae7ed79bc45ccc0ac6ca37526fd508aa38887b91e86f1451
MD5 23b6dd1f6f7183d3620b6fa6aec07d07
BLAKE2b-256 81cbafe9ef02d7d0c6e405ff2679ae2747cef0ec73abb936f2e1f0d28d85c826

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ognibuild-0.0.21-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 5f3c023e03128282b2128464475257a6664187a38b2b87071f369d6cae9134bd
MD5 1babe4f61edf70fef37e1ea64f8f1e04
BLAKE2b-256 3885f2d6ecfa741c29067a50a8a5ec5b3d2d640b68cfa9bb5f8d6ec674c52111

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ognibuild-0.0.21-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 a4636d8a8235e9bfa6b1de5acc83ba84986cc3202ac8518d2a44d1b1948ac3e0
MD5 a2ebdfe544ba23b90a1ebc3b6f39f572
BLAKE2b-256 49a6dee1679802c7f07a507fc01dce8547c7abe6b339672bc326b3125603f0e1

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ognibuild-0.0.21-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 d9979416cc78680da12ddfe30c638ace8efaf17459289a3f519a0ce6a1dfa1b7
MD5 7cd30a7db7c90919c49a0bba5f3359ef
BLAKE2b-256 12eb11d30cd14b0fb2852a8ae78abb191edee476783050101bcc6948bda28799

See more details on using hashes here.

File details

Details for the file ognibuild-0.0.21-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for ognibuild-0.0.21-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 05cebe6448793c56d12be52d32ea149e0883fcab018afa83251a0d97153a9e41
MD5 cdb02e21b0fc62e27d7dc0d698389569
BLAKE2b-256 0ff72c983dd29e5c1e4c0f1dfb10d3f087954a71e7393371a4b4d80e708865e3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ognibuild-0.0.21-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 ce6a135c037d1ed93373ada3c36c5deb142009bf4a4920b5ab6cc753f6df2dc2
MD5 44727db7f3afe1850bf21a849982af28
BLAKE2b-256 d3988bac27e87fa429d0fa9ffebc4dbe4c1a410046743557da2d20dcdfa4dd1c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ognibuild-0.0.21-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 5b442c03da9db1fb4bb0dad37aac8eaeca9b02aa1c0caec97fd95492c22495f4
MD5 2f0b98d9199cf7356117d4b40aa2c301
BLAKE2b-256 390df3e52a124aa8f3b13643ff483afda53ee22792ef22e63619b55ba31fb59f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ognibuild-0.0.21-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 9ff78136fd5848e0c15cb4585bd31c79775465b072938903257f0dd9ba487da0
MD5 8bc8b126213dfc2edf759862d9e47b8f
BLAKE2b-256 776bf5b0eaa65eb93070f71f2155e4d0bc0dea4311590477c480ae9446890be7

See more details on using hashes here.

File details

Details for the file ognibuild-0.0.21-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for ognibuild-0.0.21-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 0b979c7db31c885f55be8a46e33bb91bc8e4cc3df4c7e9c89b045784c5424af0
MD5 6534fc70a0f0203dc12f2d5ab4388d53
BLAKE2b-256 878d66031016f8a39a74f3502a253dad5a5bc3ead9d5db9bc672a1d367911505

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ognibuild-0.0.21-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 30a938a52870760764c3e09cf6674fb7f132de1072860ed2fa448d3e3d7e06a6
MD5 e2ec004fa5050d177139ccbe7ba72344
BLAKE2b-256 0a8cc994ef201fb53dd7384e78669031578585c0fd5e84c4e2980da64fca4040

See more details on using hashes here.

File details

Details for the file ognibuild-0.0.21-cp39-cp39-win_amd64.whl.

File metadata

  • Download URL: ognibuild-0.0.21-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 262.1 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.21-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 53d2e63d8fb8755293021939bbbb7186211ec60b190bfff42a8f9951b55e5f33
MD5 e77e291ac89e967cacd40c33b1535351
BLAKE2b-256 2d0c0f721d75b3043cfcffde9e3cfbce06c91ddcc45e05f3668d7ed3ea5b9881

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ognibuild-0.0.21-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 ee340dc2776f6d61e5977215c952c7c9a9dc73b02dcff211c907cc18c6bcc431
MD5 dc73381398d446b598e4f427223ae41a
BLAKE2b-256 f013af0e9316562151f348faaf2eccafa046ba3fead6394a31d66dd61dfc6f6e

See more details on using hashes here.

File details

Details for the file ognibuild-0.0.21-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for ognibuild-0.0.21-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 deb7a3a916268caac0fd8f0386cf6eff35c648611b609b25d43a6a253c310c49
MD5 6e902e2fa7855db117ec31faa52b447b
BLAKE2b-256 9c6c37afabab17e8dece096dc6b6f2ffb47ae066bc5008b1b1a3829295386e22

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ognibuild-0.0.21-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 decb257c29cb94886e7e9b677ea0772cb4cfb92a34cb9bee7ee45d175c772e6d
MD5 c511fd6efed144c0a8ed6f9794574d9d
BLAKE2b-256 8bb793b5873519c484c64f9c18d2bc1ad7f984fcc0033a5325f11fb9f80927ca

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