From 2e1035a29f18f17322e1bcad0814fb9e58ff8957 Mon Sep 17 00:00:00 2001 From: black-sliver <59490463+black-sliver@users.noreply.github.com> Date: Sun, 15 Feb 2026 19:10:34 +0000 Subject: [PATCH] Doc: running from source and building on Linux (#5881) * CI: make the comment in 'Build' more verbose * Doc: add Linux running from source and build instructions * Doc: fix name in running from source on Linux * Update docs/running from source.md Co-authored-by: qwint --------- Co-authored-by: qwint --- .github/workflows/build.yml | 3 ++- docs/running from source.md | 26 ++++++++++++++++++++++++++ 2 files changed, 28 insertions(+), 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 9c0cd14f8b..9ebe42307d 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -1,4 +1,5 @@ -# This workflow will build a release-like distribution when manually dispatched +# This workflow will build a release-like distribution when manually dispatched: +# a Windows x64 7zip, a Windows x64 Installer, a Linux AppImage and a Linux binary .tar.gz. name: Build diff --git a/docs/running from source.md b/docs/running from source.md index 91c6f6a2d7..dbb2516961 100644 --- a/docs/running from source.md +++ b/docs/running from source.md @@ -52,6 +52,32 @@ Recommended steps Refer to [Guide to Run Archipelago from Source Code on macOS](../worlds/generic/docs/mac_en.md). +## Linux + +If your Linux distribution ships a compatible Python version (see [General](#general)) and pip, you can use that, +otherwise you may need to install Python from a 3rd party. Refer to documentation of your Linux distribution. + +Installing a C compiler is usually optional. The package is typically named `gcc`, sometimes another package with the +base build tools may be required, i.e. `build-essential` (Debian/Ubuntu) or `base-devel` (Arch). + +After getting the source code, it is strongly recommended to create a +[venv](https://docs.python.org/3/tutorial/venv.html) (Virtual Environment) +by hand or using an IDE, such as PyCharm, because Archipelago requires specific versions of Python packages. + +Run `python ModuleUpdate.py` in the project root to install packages, run `python Launcher.py` to run the Launcher. + +### Building + +Builds contain (almost) all dependencies to run Archipelago on any Linux distribution that is as new or newer than the +one it was built on. Beware that currently only the oldest Ubuntu LTS available in GitHub actions is supported for that. +This means the easiest way to generate a build is by running the `Build` action from GitHub actions instead of building +locally. If you still want to, e.g. for local testing, you can by running + +`python setup.py build_exe` to generate a binary distribution of Archipelago in `build/`. Or to generate an AppImage +first generate the binary distribution and then run `python setup.py bdist_appimage` to populate `dist/`. You need to +put an `appimagetool` into the directory you run the command from, rename it to `appimagetool` and make it executable. + + ## Optional: A Link to the Past Enemizer Only required to generate seeds that include A Link to the Past with certain options enabled. You will receive an