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

Uploaded Source

Built Distributions

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

Uploaded PyPy Windows x86-64

ognibuild-0.0.22-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.22-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.22-pp310-pypy310_pp73-macosx_11_0_arm64.whl (377.4 kB view details)

Uploaded PyPy macOS 11.0+ ARM64

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

Uploaded PyPy Windows x86-64

ognibuild-0.0.22-pp39-pypy39_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.22-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (432.1 kB view details)

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

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

Uploaded PyPy macOS 11.0+ ARM64

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

Uploaded CPython 3.12 Windows x86-64

ognibuild-0.0.22-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.22-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (429.8 kB view details)

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

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

Uploaded CPython 3.12 macOS 11.0+ ARM64

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

Uploaded CPython 3.11 Windows x86-64

ognibuild-0.0.22-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.22-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (430.6 kB view details)

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

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

Uploaded CPython 3.11 macOS 11.0+ ARM64

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

Uploaded CPython 3.10 Windows x86-64

ognibuild-0.0.22-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (410.9 kB view details)

Uploaded CPython 3.10 manylinux: glibc 2.17+ x86-64

ognibuild-0.0.22-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (430.5 kB view details)

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

ognibuild-0.0.22-cp310-cp310-macosx_11_0_arm64.whl (375.4 kB view details)

Uploaded CPython 3.10 macOS 11.0+ ARM64

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

Uploaded CPython 3.9 Windows x86-64

ognibuild-0.0.22-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.22-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (430.4 kB view details)

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

ognibuild-0.0.22-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.22.tar.gz.

File metadata

  • Download URL: ognibuild-0.0.22.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.22.tar.gz
Algorithm Hash digest
SHA256 bb975b7304ea08b3a49c7c2b55cfc62b0b84aaf26b022061138ea7142162da5b
MD5 6d8dab52aa24feac20c176be617a622a
BLAKE2b-256 5581ab6d5a6ddcbe45b03e24d7edc50bf9938abc9262fd855fd2616e89cc1242

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ognibuild-0.0.22-pp310-pypy310_pp73-win_amd64.whl
Algorithm Hash digest
SHA256 11531e5dd62f8d08db5403a676ce8e314a09176c97b0baeebdfe1a74d9e522bd
MD5 ba8e41677c8e1fb5448f502be6690a1a
BLAKE2b-256 f21e1f3ace5d9777e9e5a3ffc0fa47f3f2383824a1530407e157b49214ab58b4

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ognibuild-0.0.22-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 ff5d50195789dd1b49263f3200b5c10e8b6d38d71ad7f14570b25cfb73dbea80
MD5 fbdfeb92b37822a6e84e9451291cb190
BLAKE2b-256 44061a16b9bc754317654e374930b086023cc91ba4107198c83f354200222809

See more details on using hashes here.

File details

Details for the file ognibuild-0.0.22-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.22-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 5ccfbe501560498ffb1d0fc71259c17d11642aaf80d673375b6ab658e733c85e
MD5 78b04d6afa46a104921ee1dcb7ae9df1
BLAKE2b-256 e01ea1c197e21248048a8b6711f7d6ba6328a362b5f1247258fe3f61e7bd7ab7

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ognibuild-0.0.22-pp310-pypy310_pp73-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 0576a39f693e8698bea4c04b504d527acf0268998751da2f5ea813cfc488ab69
MD5 0e88f3c4220cba9631fd614c890cbc5b
BLAKE2b-256 9c952ad8317128d4e66b1463d95d7de5cf6cc3f2b4a73f709d4f287ef9c4a843

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ognibuild-0.0.22-pp39-pypy39_pp73-win_amd64.whl
Algorithm Hash digest
SHA256 5eef4e9bea4d303f394191c1f1289bf8696ecc24f144ad0e9624829bc7942655
MD5 48e55e2ec6bd6945b442901f714da46a
BLAKE2b-256 6ce6f3d7f2938189325e7b3014cbc3bc2a22d5dff53e15857cbb080ee191d089

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ognibuild-0.0.22-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 820b2bb07a5940593bc629da3a81fe48b6d3877943b9ece8a673d06cfaf69bef
MD5 b8778d1b1cf4578b51f9102532ace6b7
BLAKE2b-256 07e2de932ba9990609bbf3973f4b6795e96e723454c75785e17f9335004d829d

See more details on using hashes here.

File details

Details for the file ognibuild-0.0.22-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.22-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 2cd7ff8e360b4476a3bcc61ba0d149d53ea8ca44381a264e3ac076912d0b4954
MD5 d896868388b5845317c137a70a9b5f26
BLAKE2b-256 bd52bedb0c9c228bd3b1208a3842c582d39c31159ba09671f2a123d83ff4e29d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ognibuild-0.0.22-pp39-pypy39_pp73-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 7a3cd95719909228ac029a89413bbae5d9cc5e5c94a94ffd39b93f4897adb1f2
MD5 9cbdc9ca919f039895ab4b260b09e772
BLAKE2b-256 7735c0b86b0bf7394d571dd147842d40258b0518897f8095e500fbc653f9ff73

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ognibuild-0.0.22-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 3b284f6ae476010926076a9275705cad87d1c2197eb694925be6e7edcab9f6cf
MD5 8db829d20ff08657533de17f0431c81f
BLAKE2b-256 5e4cca62b27fdeec814ae3acf0da10ab1189fc6b46a04a217a4991083993d0fe

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ognibuild-0.0.22-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 f433135df87d130b252b1c0459db2ae7b99372985381d9403bae4410aa623d05
MD5 933b1577f240c9b7bfccdef0e73497c3
BLAKE2b-256 c0f19c6f67947fc1d9ac17e2b106530078cb45908c54448a90681f3d0ed91f07

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ognibuild-0.0.22-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 d77e9e05ef0ab88188295a5f20b303d0c4790047f491b37c5fb899ed11ba9fb7
MD5 57f48998b4267e3d125a79a1b146e5bc
BLAKE2b-256 8e59770655db1fe2943cd1d1e647df54d58cd94691514dfd4b3e461b64856af0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ognibuild-0.0.22-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 38571eaf02a2067d438c51e042a13b4a2f09a8718a861b6d4dd7df59a0209de7
MD5 639dbbde8c28faa87dd1691e323416b1
BLAKE2b-256 b94ff705b54960d2bdd83c0c36d2b263d392ce00c2a18726acfb70a3893f0f36

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ognibuild-0.0.22-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 2ff58389ff6ff021c8486452a56f14de3fa9754101393603706b3cffef1b811e
MD5 d0303546e34e7aa7931645db3a07a95a
BLAKE2b-256 227af9e45719129351bfd1a19eabcbf849f160f2c47086e40310b552530cbf29

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ognibuild-0.0.22-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 54cfac1ce7a89030c44c49fc8b734f9efd630ebdb4245275b3d6e7d01ecf9efb
MD5 dd243a38720c1993b62367bebab33354
BLAKE2b-256 d62a6728a5c51bdb2a57d0ce5465964aba6fc496bced2f794193b60b25c9e4e4

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ognibuild-0.0.22-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 a32fd2e79466319ec171d24b02335568c587a3ac0ce672b68ec2bc24c960c06e
MD5 e395fab6f2721bb070a2ea72858736f5
BLAKE2b-256 836678d2661d2234029973cca0978fd360302ba44243126861753aee05c559cf

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ognibuild-0.0.22-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 ebc05217f78440555aa7102c45d00f474009b67ad67da25b835314e8a7915189
MD5 b7b45a55bde4dab3d7a72b89f15a9216
BLAKE2b-256 1f229620ed1dad3fa9dd1e3963e5bed9838a1229c6693534967e5a090ba650df

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ognibuild-0.0.22-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 e69fac9db830b3f866d30cfcd8ab41c1e0223168f8e108c40a3787a981a090c9
MD5 b25be46aa9a2377c0f338fdc4eb18886
BLAKE2b-256 e20f5693cb0cc29500021d37944a0f9123d443616de00920c3687449ac6f661a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ognibuild-0.0.22-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 20f2e290bd3d3f8914b5be8d25c8457f2cf603ef64d69f261c3f745e37c37699
MD5 55727762740fe3ffa4c017fc37d0f95d
BLAKE2b-256 efe51aebac2e2d49281e5e167974b5aaf723911d50564e20e9036edd5425f058

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ognibuild-0.0.22-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 f8c1eb428f1730c0d36025dd3b2cd9755f2fee9be3fd31164c344f9bdbc72eff
MD5 8a74943d8820590aff896f5ded89de92
BLAKE2b-256 aecb2f325e03756dd1eeac79c6695dd4787447f78de54dd45ec25c9f663e9289

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ognibuild-0.0.22-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 a8ab0ee39c538739c23b98851aaaf2e3df5369556fa0e036800f79d3327307a7
MD5 a80b27602f0c0f9e23477203070e515d
BLAKE2b-256 b4d9295ae51105cea7905fd196f915612b3478a799c3e91f7d48710b241d82b2

See more details on using hashes here.

File details

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

File metadata

  • Download URL: ognibuild-0.0.22-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.22-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 cadd0ac6dd0ab1c2c82c7f2ef5ab031446270acaeaccff7673d5699563f7784f
MD5 492f61a170210b0bb7e2ad02475c8e22
BLAKE2b-256 2b80526bd6775a13f390e0cf44765f3fee326354c6fcfc28dcd61bce3d09abc3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ognibuild-0.0.22-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 c16d09eb15991df2e429cdd3c4fb1e9255d7483a5810eb195bb1af4a48377a06
MD5 0c17df38027e8c31434454102cf30f70
BLAKE2b-256 ac03fd3880669499430743ca81010e9da8d41a1f1cc972c251cc0450141f88f5

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ognibuild-0.0.22-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 13bc5d0c139b268277aa4b308fc1ec6ac58bab6e72f93d2927b8c2dc75ed9d0b
MD5 460b3dcea7a43a19410ab7e66c2bb165
BLAKE2b-256 2750d23447e714da5cf32a06fff26499fd633538cf4d478155c143494d713ad8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ognibuild-0.0.22-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 cea26c3ae5f4c70e84e4067d5aea67ad5e35e66f7874d04519d85f695f946546
MD5 a224bd9382dc7409f2609b8f57748be2
BLAKE2b-256 f3f58d6a687e9902b4303d13109c48728db3264d54903fdb900c921c495e6408

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