An open API service indexing awesome lists of open source software.

https://github.com/toltec-dev/build

Build system used for the Toltec community repository.
https://github.com/toltec-dev/build

build-tooling distribution packaging

Last synced: about 2 months ago
JSON representation

Build system used for the Toltec community repository.

Awesome Lists containing this project

README

          

## toltecmk

[![toltecmk on PyPI](https://img.shields.io/pypi/v/toltecmk)](https://pypi.org/project/toltecmk)
![Status of the main branch](https://github.com/toltec-dev/build/actions/workflows/checks.yml/badge.svg)

`toltecmk` is a Python tool used to build software packages for the [Toltec repository](https://github.com/toltec-dev/toltec) from _[PKGBUILD](https://wiki.archlinux.org/index.php/PKGBUILD)-like build recipes_.
It automates common tasks such as fetching sources, building artifacts in a reproducible environment, and creating [Opkg-compatible archives](docs/ipk.md).

**Disclaimer: This is beta-quality software. The recipe format may change at any time in future releases. If you use `toltecmk` in other projects, it is advised to pin to a specific version.**


toltecmk input: recipe; output: packages. Fetches sources based on instructions in the recipe.

### Setup

`toltecmk` is available as a Python package on PyPI.

```sh
pip install toltecmk
```

There are a few system requirements to use this tool:

* Linux-based operating system
* Python ⩾ 3.11
* Docker

### Basic Usage

To build a recipe located in the current directory, simply run:

```sh
toltecmk
```

This will process the recipe in a subfolder called `build` (which can be adjusted using the `--work-dir` flag) and generate packages in a subfolder called `dist` (`--dist-dir` flag).

### Documentation

* Tutorials and resources
- [Guide to writing recipes](docs/writing-recipes.md)
- [About ipk packages](docs/ipk.md)
* Reference
- [Recipe format reference](docs/recipe-format.md)
- [Details on the build process](docs/build-process.md)

### Related Projects

Many other build tools exist today for creating software packages, each major distribution having invented its own recipe and package formats.
Some important ones are listed below.
`toltecmk` itself uses an Arch Linux-style recipe format to build Debian-style packages.


Name
Used by
Recipe format
Package format


Debian-style


debhelper
Debian, Ubuntu, and others
Source packages (Makefiles)
deb


OpenWrt SDK
OpenWrt, Entware
Source packages (Makefiles)
ipk


Fedora-style


rpmbuild
Fedora, openSUSE, and others
spec (DSL)
rpm


Arch Linux-style


makepkg
Arch Linux and others
PKGBUILD (Bash scripts)
pkg.tar.zst


abuild
Alpine Linux
APKBUILD (Bash scripts)
apk


Others


nix-build
NixOS
Expressions (DSL)
nar


ebuild
Gentoo
ebuild (Bash scripts)
tbz2