Provide a way to inject environment variables and/or scripts into the Docker container used for Linux builds #886
Labels
enhancement
New features, or improvements to existing features.
linux
The issue relates Linux support.
AppImage builds require that most dependencies are build from source. However, in order to build Cryptography, it is necessary to install a Rust development toolchain. This can't be done with a simple
system_requires
declaration.If you revert to an older version of Cryptography (e.g., 3.4.8) where the Rust build was optional, you still need to declare an environment variable (
CRYPTOGRAPHY_DONT_BUILD_RUST=1
) to disable the Rust build.Describe the solution you'd like
Functionally - it should be possible to install Cryptography - either a recent release, or a historical pre-rust release.
This likely requires the ability to inject full build steps into the Docker image used to build AppImages.
e.g.,
or
These declarations would be injected into the Dockerfile - probably towards the end of the Dockerfile, after the installation of system packages.
Describe alternatives you've considered
We could make a special case of Rust, and add a
enable-rust = true
option; however, the more flexible option will be to provide complete environment flexibility.extra_docker_steps
could also be a single multiline string, rather than a list of strings.The text was updated successfully, but these errors were encountered: