Skip to content

streamlink/streamlink-appimage

Repository files navigation

Streamlink AppImage

Linux AppImage build config for Streamlink

Important

Streamlink 7.0.0 changes:

  • ⚠️ Upgraded from manylinux2014 to manylinux_2_28 (requires glibc 2.28+ - Aug 2018).
  • ⚠️ No more i686 AppImage builds (unsupported on manylinux_2_28).

Contents

  • a Python environment
  • Streamlink and its dependencies

Supported architectures

  • x86_64
  • aarch64

How to

  1. Verify that the system is running on at least glibc 2.28 (Aug 2018) (see ld.so --version)

  2. Download the AppImage file matching the system's CPU architecture (see uname --machine)

  3. 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
  4. 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

What are AppImages

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.

About

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.

Build

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)