Linux AppImage build config for Streamlink
Important
Streamlink 7.0.0
changes:
⚠️ Upgraded frommanylinux2014
tomanylinux_2_28
(requires glibc 2.28+ - Aug 2018).⚠️ No morei686
AppImage builds (unsupported onmanylinux_2_28
).
- a Python environment
- Streamlink and its dependencies
- x86_64
- aarch64
-
Verify that the system is running on at least glibc 2.28 (Aug 2018) (see
ld.so --version
) -
Download the AppImage file matching the system's CPU architecture (see
uname --machine
) -
Set the executable flag via a file browser or
chmod +x filename
from a command-line shell# AppImage file names include the release version, # the Python version, platform name and CPU architecture chmod +x streamlink-7.0.0-1-cp312-cp312-manylinux_2_28_x86_64.AppImage
-
Run the AppImage with any command-line parameters supported by Streamlink
./streamlink-7.0.0-1-cp312-cp312-manylinux_2_28_x86_64.AppImage --loglevel=debug
AppImages are portable applications which are independent of the Linux distribution in use and its package management. Just set the executable flag on the AppImage file and run it.
The only requirement is having FUSE installed for being able to mount the contents of the AppImage's SquashFS, which is done automatically. Also, only glibc-based systems are currently supported.
Note: Check out AppImageLauncher, which automates the setup and system integration of AppImages. AppImageLauncher may also be available via your distro's package management.
Additional information, like for example how to inspect the AppImage contents or how to extract the contents if FUSE is not available on your system, can be found in the AppImage documentation.
These AppImages are built using the streamlink/appimage-buildenv-*
docker images, which are based on the pypa/manylinux
project and the manylinux_2_28
platform, which is based on AlmaLinux 8. The pre-built Python install and its needed runtime libraries are copied from the docker image (see the manylinux build files) into the AppImages, in addition to the main Python application code, namely Streamlink and its dependencies, which are pulled from GitHub and PyPI.
Requirements: git
, jq
, yq
, docker
Supported architectures: x86_64
, aarch64
# Build
./build.sh [$ARCH] [$GITREPO] [$GITREF]
# Get new list of Python dependencies (for updating config.yml)
./get-dependencies.sh [$ARCH] [$GITREPO] [$GITREF] [$OPT_DEPS]
The AppImages are reproducible when SOURCE_DATE_EPOCH
is set:
export SOURCE_DATE_EPOCH=$(git show -s --format=%ct)