pub struct FlatpakModuleDescription {
Show 28 fields pub name: String, pub disabled: Option<bool>, pub sources: Vec<FlatpakSource>, pub config_opts: Vec<String>, pub make_args: Vec<String>, pub make_install_args: Vec<String>, pub rm_configure: Option<bool>, pub no_autogen: Option<bool>, pub no_parallel_make: Option<bool>, pub install_rule: String, pub no_make_install: Option<bool>, pub no_python_timestamp_fix: Option<bool>, pub cmake: Option<bool>, pub buildsystem: String, pub builddir: Option<bool>, pub subdir: String, pub build_options: Option<FlatpakBuildOptions>, pub build_commands: Vec<String>, pub post_install: Vec<String>, pub cleanup: Vec<String>, pub ensure_writable: Vec<String>, pub only_arches: Vec<String>, pub skip_arches: Vec<String>, pub cleanup_platform: Vec<String>, pub run_tests: Option<bool>, pub test_rule: String, pub test_commands: Vec<String>, pub modules: Vec<FlatpakModule>,
}
Expand description

Each module specifies a source that has to be separately built and installed. It contains the build options and a list of sources to download and extract before building.

Modules can be nested, in order to turn related modules on and off with a single key.

Fields

name: String

The name of the module, used in e.g. build logs. The name is also used for constructing filenames and commandline arguments, therefore using spaces or ‘/’ in this string is a bad idea.

disabled: Option<bool>

If true, skip this module

sources: Vec<FlatpakSource>

An array of objects defining sources that will be downloaded and extracted in order. String members in the array are interpreted as the name of a separate json or yaml file that contains sources. See below for details.

config_opts: Vec<String>

An array of options that will be passed to configure

make_args: Vec<String>

An array of arguments that will be passed to make

make_install_args: Vec<String>

An array of arguments that will be passed to make install

rm_configure: Option<bool>

If true, remove the configure script before starting build

no_autogen: Option<bool>

Ignore the existence of an autogen script

no_parallel_make: Option<bool>

Don’t call make with arguments to build in parallel

install_rule: String

Name of the rule passed to make for the install phase, default is install

no_make_install: Option<bool>

Don’t run the make install (or equivalent) stage

no_python_timestamp_fix: Option<bool>

Don’t fix up the python (*.pyo or *.pyc) header timestamps for ostree use.

cmake: Option<bool>

Use cmake instead of configure (deprecated: use buildsystem instead)

buildsystem: String

Build system to use. See [static@crate::build_system::FLATPAK_BUILD_SYSTEMS] for available values.

builddir: Option<bool>

Use a build directory that is separate from the source directory

subdir: String

Build inside this subdirectory of the extracted sources

build_options: Option<FlatpakBuildOptions>

A build options object that can override global options

build_commands: Vec<String>

An array of commands to run during build (between make and make install if those are used). This is primarily useful when using the “simple” buildsystem. Each command is run in /bin/sh -c, so it can use standard POSIX shell syntax such as piping output.

post_install: Vec<String>

An array of shell commands that are run after the install phase. Can for example clean up the install dir, or install extra files.

cleanup: Vec<String>

An array of file patterns that should be removed at the end. Patterns starting with / are taken to be full pathnames (without the /app prefix), otherwise they just match the basename. Note that any patterns will only match files installed by this module.

ensure_writable: Vec<String>

The way the builder works is that files in the install directory are hard-links to the cached files, so you’re not allowed to modify them in-place. If you list a file in this then the hardlink will be broken and you can modify it. This is a workaround, ideally installing files should replace files, not modify existing ones.

only_arches: Vec<String>

If non-empty, only build the module on the arches listed.

skip_arches: Vec<String>

Don’t build on any of the arches listed.

cleanup_platform: Vec<String>

Extra files to clean up in the platform.

run_tests: Option<bool>

If true this will run the tests after installing.

test_rule: String

The target to build when running the tests. Defaults to “check” for make and “test” for ninja. Set to empty to disable.

test_commands: Vec<String>

Array of commands to run during the tests.

modules: Vec<FlatpakModule>

An array of objects specifying nested modules to be built before this one. String members in the array are interpreted as names of a separate json or yaml file that contains a module.

Implementations

Trait Implementations

Returns a copy of the value. Read more

Performs copy-assignment from source. Read more

Formats the value using the given formatter. Read more

Returns the “default value” for a type. Read more

Deserialize this value from the given Serde deserializer. Read more

Feeds this value into the given Hasher. Read more

Feeds a slice of this type into the given Hasher. Read more

Serialize this value into the given Serde serializer. Read more

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

Performs the conversion.

Performs the conversion.

The resulting type after obtaining ownership.

Creates owned data from borrowed data, usually by cloning. Read more

🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

The type returned in the event of a conversion error.

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.