Get desktop application:
View/edit binary Protocol Buffers messages
A https URL to the upstream archive that should be built. Currently, only tar.gz archives are supported.
Details about how to pull a new version.
A SHA256 hash of the upstream archive, for verifying integrity.
The version number of this package, in format `<upstream-version>-<distri-revision>`, e.g. `2.12-4`. The distri package revision is a monotonically increasing number (even when the upstream version changes!). The name of the package is the directory which contains `build.textproto`, and the resulting package will be named `<package-name>-<version>`, so a full package can be referenced by e.g. `i3status-amd64-2.12-4`.
The filename of a file (relative to the directory containing `build.textproto`) to copy into the source directory as-is. Could also be achieved by using `cherry_pick`, but files are a little bit easier to maintain this way.
The filename of a patch (relative to the directory containing `build.textproto`) to apply after extracting the upstream archive. The order of directives is the order in which the patches are applied.
Enable writable_sourcedir if the package modifies files in its SourceDir (instead of only placing files in the build directory). A bug should be reported with the package upstream. Frequently also requires enabling in_tree_build.
Enable if this package does not support building from a separate directory (sometimes called “out-of-tree build”). A bug should be reported with the package upstream.
By default, distri build will fail if there are empty .debug files. Use this option to acknowledge the failure and add a free-form note (for human consumption) with details. E.g. ack_missing_dwarf: "TODO" if the failure is not yet understood.
TODO: rename to build_dep
TODO: move this field into a custom builder Overwrites the chosen builder’s default build steps.
The cbuilder builds autoconf (or compatible) projects.
The cmakebuilder builds CMake projects.
The meson builder builds meson projects.
The perlbuilder builds Perl projects.
The pythonbuilder builds Python projects.
The gomodbuilder captures the module cache of the specified module. The resulting package is meant to be used as build dependency for gobuilder packages.
The gobuilder builds Go projects.
Additional run-time dependencies which are not automatically found.
Additional steps to perform after the build completed.
Split files out of the resulting package into separate packages. This feature should be used sparingly: prefer sticking to the mental model that one package build instruction file results in one distri package. Use cases include fine grained dependencies (e.g. gcc-libs split out of gcc) or breaking dependency cycles for bootstrap packages (e.g. libudev split out of systemd).
Runtime union directories are used to implement per-package exchange directories (as opposed to global exchange directories). This is to be used for tight coupling situations, e.g. when a plugin mechanism does not guarantee ABI compatibility across versions.
Used in:
argv to pass to execve(2)
Used in:
Additional flag to pass to `configure`.
Additional flag to pass to `make`.
Whether to run autoreconf(1)
Additional flag to append to the `LDFLAGS` environment variable when building.
Used in:
Additional flag to pass to cmake(1), e.g.: extra_cmake_flag: "-DKICAD_SCRIPTING_WXPYTHON_PHOENIX:BOOL=true"
Used in:
glob pattern, interpreted by Go’s https://golang.org/pkg/path/filepath/#Glob
required
Overwrite the destination directory within the split package.
Used in:
Additional flags to pass to “go install”, e.g. “./...” or “cmd/distri”.
Import path of the package that is being built, e.g. “github.com/junegunn/fzf”. Derived from the source URL by default; should usually not be specified.
Additional go environment variable to set when calling e.g. “go install”. E.g. go_env: "CGO_ENABLED=0"
Used in:
(message has no fields)
Used in:
Create a symbolic link.
Create an empty directory with the specified name.
relative to ${DISTRI_PREFIX}/out
Change the mode of a file.
Apply a file-based capability.
Install a file.
Rename an installed file.
Delete a file.
relative to ${DISTRI_PREFIX}/out
Used in:
specified in cap_from_text(3)
relative to ${DISTRI_PREFIX}
Used in:
Whether to set the setuid bit.
TODO: rename to filename for consistency The filename of the file whose mode to change
relative to ${DISTRI_PREFIX}/out
Used in:
relative to ${DISTRI_SOURCEDIR}
relative to ${DISTRI_PREFIX}
Used in:
relative to ${DISTRI_PREFIX}/out
relative to ${DISTRI_PREFIX}/out
Used in:
The symbolic link target.
The filename of the symbolic link to create.
relative to ${DISTRI_PREFIX}/out
Used in:
Additional flag to pass to meson(1), e.g.: extra_meson_flag: "-Dsystemdsystemunitdir=${DISTRI_PREFIX}/lib/systemd/system"
Used in:
Extra flags to be specified when running Makefile.PL, e.g. EXPATLIBPATH=/ro/expat-2.2.6/buildoutput/lib
Used in:
URL (https:// preferred, http:// accepted) to a Debian repository Packages file. E.g. https://dl.google.com/linux/chrome/deb/dists/stable/main/binary-amd64/Packages
URL (https:// preferred, http:// accepted) to a page listing at least the latest release (or multiple releases).
Go regexp (see https://golang.org/pkg/regexp/) for matching upstream releases. The first capture group is expected to capture the upstream version number.
Go regexp (see https://golang.org/pkg/regexp/) for replacing matches in the version number. Can be used e.g. to convert _ to . (see pkgs/nss).
Enforce version numbers to conform to SemVer by filtering out non-conforming version numbers. This is useful for projects which have now committed to SemVer but have previous, non-conforming releases still available.
Used in:
(message has no fields)
Used in:
Used in:
Name of the split package, e.g. gcc-libs
required
A claim specifies which files this split package claims for itself.
required
Additional run-time dependencies which are not automatically found, for this split package.
Used in:
Directory (within the package) to overlay on top of pkg, e.g. “out/lib/irssi/modules”
required
distri package on top of which to overlay our files, e.g. “irssi”
required