mirror of
https://github.com/voideditor/void
synced 2026-05-22 08:58:26 +00:00
127 lines
3.7 KiB
Markdown
127 lines
3.7 KiB
Markdown
|
|
|
|
# README
|
|
|
|
This is a community-made AppImage creation script.
|
|
|
|
There are some reported bugs with it.
|
|
|
|
To generate an AppImage yourself, feel free to look at
|
|
stable-linux.yml in the separate `void-builder/` repo,
|
|
which runs a GitHub Action that builds the AppImage you see on our website.
|
|
|
|
|
|
# Void AppImage Creation Script
|
|
|
|
This script automates the process of creating an AppImage for the Void Editor using Docker. It works on macOS and Linux platforms.
|
|
## Requirements
|
|
|
|
* **Docker:** The script relies on Docker to build the AppImage inside a container.
|
|
* **macOS or Linux:** The script is designed for these platforms. On macOS, it generates a Linux-compatible AppImage.
|
|
* **Internet Connection:** Required for downloading necessary tools (like `docker-buildx` and `appimagetool` inside the Docker container).
|
|
|
|
## Prerequisites
|
|
|
|
1. **Install Docker:**
|
|
|
|
* **macOS:** Download and install Docker Desktop from [docker.com](docker.com).
|
|
* **Ubuntu:**
|
|
```bash
|
|
sudo apt install docker.io
|
|
```
|
|
* **Arch Linux:**
|
|
```bash
|
|
sudo pacman -S docker
|
|
```
|
|
* **Fedora:**
|
|
```bash
|
|
sudo dnf install docker
|
|
```
|
|
|
|
2. **Set Docker User Group:**
|
|
|
|
Docker requires users to be part of the `docker` group to run Docker commands without `sudo`.
|
|
|
|
```bash
|
|
sudo usermod -aG docker $USER
|
|
```
|
|
|
|
After running this command, log out and log back in for the group changes to take effect.
|
|
|
|
3. **Enable and Start Docker:**
|
|
|
|
```bash
|
|
sudo systemctl enable docker
|
|
sudo systemctl start docker
|
|
```
|
|
|
|
## Ubuntu Dependencies (Installed via Docker)
|
|
|
|
These dependencies are installed within the Docker container (Ubuntu 20.04 base). You generally don't need to install them manually:
|
|
|
|
* `libfuse2`
|
|
* `libglib2.0-0`
|
|
* `libgtk-3-0`
|
|
* `libx11-xcb1`
|
|
* `libxss1`
|
|
* `libxtst6`
|
|
* `libnss3`
|
|
* `libasound2`
|
|
* `libdrm2`
|
|
* `libgbm1`
|
|
|
|
## Usage Instructions
|
|
|
|
1. **Clone or Download the Script:**
|
|
|
|
Save the script to your system as `create_appimage.sh`.
|
|
|
|
2. **Make the Script Executable:**
|
|
|
|
```bash
|
|
chmod +x create_appimage.sh
|
|
```
|
|
|
|
3. **Copy Required Files:**
|
|
|
|
Copy the following files to the directory where the app binary is being bundled (created during the build process):
|
|
|
|
* `create_appimage.sh`
|
|
* `void.desktop`
|
|
* `void.png`
|
|
|
|
4. **Run the Script:**
|
|
|
|
```bash
|
|
./create_appimage.sh
|
|
```
|
|
|
|
5. **Result:**
|
|
|
|
After the script completes, it will generate an AppImage named `Void-x86_64.AppImage` (or similar, depending on your architecture) in the current directory.
|
|
|
|
## Script Overview
|
|
|
|
* **Platform Check:** Checks for macOS or Linux. Exits if unsupported.
|
|
* **Docker Checks:** Ensures Docker is installed and running.
|
|
* **Buildx Installation:** Installs `docker buildx` if missing.
|
|
* **`appimagetool` Download:** Downloads `appimagetool` inside the Docker container.
|
|
* **Dockerfile Creation:** Creates a temporary `Dockerfile.build` for the Ubuntu-based environment.
|
|
* **Docker Image Build:** Builds a Docker image and runs the build process.
|
|
* **AppImage Creation:**
|
|
* Creates the `VoidApp.AppDir` structure.
|
|
* Copies binaries, resources, and the `.desktop` entry.
|
|
* Copies `void.desktop` and `void.png`.
|
|
* Strips unnecessary symbols from the binary.
|
|
* Runs `appimagetool` to generate the AppImage.
|
|
* **Cleanup:** Removes the temporary `Dockerfile.build`.
|
|
|
|
## Troubleshooting
|
|
|
|
* **Docker Not Running:** Ensure Docker is installed and running.
|
|
* **Permission Issues:** Try running the script with `sudo` or check Docker permissions.
|
|
* **Outdated Dependencies:** Ensure you have the minimum required versions.
|
|
|
|
## License
|
|
|
|
This script is provided "as is". It is free to use, modify, and distribute, but comes with no warranty.
|