mirror of
https://github.com/rangermix/TwitchDropsMiner.git
synced 2026-05-26 23:19:39 +00:00
The reference AppIndicator implementation has been deprecated/abandoned in newer distros. Co-Authored-By: Guilherme Silva <626206+guihkx@users.noreply.github.com>
147 lines
4.7 KiB
YAML
147 lines
4.7 KiB
YAML
# Useful links:
|
|
# https://appimage-builder.readthedocs.io/en/latest/reference/recipe.html
|
|
|
|
version: 1
|
|
|
|
script:
|
|
# Clean up any previous builds.
|
|
- rm -rf "$BUILD_DIR" "$TARGET_APPDIR" || true
|
|
- mkdir -p "$BUILD_DIR" "$TARGET_APPDIR"
|
|
- cd "$BUILD_DIR"
|
|
|
|
# Build a recent version of libXft first. This fixes an issue where the app won't start with libXft 2.3.3 if an emoji font is installed on the system.
|
|
- curl -L https://xorg.freedesktop.org/releases/individual/lib/libXft-2.3.8.tar.xz -o libXft.tar.xz
|
|
- tar xvf libXft.tar.xz
|
|
- cd libXft-2.3.8
|
|
- ./configure --prefix="$TARGET_APPDIR/usr" --disable-static
|
|
- make -j$(nproc)
|
|
- make install-strip
|
|
|
|
# Package the app.
|
|
- mkdir -p "$TARGET_APPDIR"/usr/{src,share/icons/hicolor/128x128/apps}
|
|
- cp -r "$SOURCE_DIR/../lang" "$SOURCE_DIR/../icons" "$SOURCE_DIR"/../*.py "$TARGET_APPDIR/usr/src"
|
|
- cp "$SOURCE_DIR/pickaxe.png" "$TARGET_APPDIR/usr/share/icons/hicolor/128x128/apps/io.github.devilxd.twitchdropsminer.png"
|
|
|
|
# Create a virtual environment and install up-to-date versions of meson and ninja.
|
|
- python3 -m venv env && source ./env/bin/activate && python3 -m pip install meson ninja
|
|
# Install requirements.
|
|
- python3 -m pip install --ignore-installed --prefix=/usr --root="$TARGET_APPDIR" -r "$SOURCE_DIR/../requirements.txt" certifi
|
|
# Generate byte-code files beforehand, for slightly faster app startup.
|
|
- python3 -m compileall "$TARGET_APPDIR/usr/src/"*.py
|
|
|
|
AppDir:
|
|
app_info:
|
|
id: io.github.devilxd.twitchdropsminer
|
|
name: Twitch Drops Miner
|
|
icon: io.github.devilxd.twitchdropsminer
|
|
version: '{{APP_VERSION}}'
|
|
exec: usr/bin/python3
|
|
exec_args: '${APPDIR}/usr/src/main.py $@'
|
|
|
|
apt:
|
|
arch: amd64
|
|
sources:
|
|
- sourceline: deb http://archive.ubuntu.com/ubuntu/ jammy main universe
|
|
- sourceline: deb http://archive.ubuntu.com/ubuntu/ jammy-updates main universe
|
|
- sourceline: deb http://archive.ubuntu.com/ubuntu/ jammy-backports main universe
|
|
- sourceline: deb http://archive.ubuntu.com/ubuntu/ jammy-security main universe
|
|
key_url: http://keyserver.ubuntu.com/pks/lookup?op=get&search=0x871920D1991BC93C
|
|
|
|
include:
|
|
- gir1.2-ayatanaappindicator3-0.1
|
|
- python3-tk
|
|
|
|
exclude:
|
|
- adwaita-icon-theme
|
|
- dconf-service
|
|
- glib-networking-services
|
|
- gsettings-desktop-schemas
|
|
- hicolor-icon-theme
|
|
- humanity-icon-theme
|
|
- libavahi-client3
|
|
- libavahi-common3
|
|
- libbrotli1
|
|
- libcolord2
|
|
- libcups2
|
|
- libdb5.3
|
|
- libdconf1
|
|
- libgmp10
|
|
- libgnutls30
|
|
- libgssapi-krb5-2
|
|
- libhogweed5
|
|
- libicu66
|
|
- libjson-glib-1.0-0
|
|
- libk5crypto3
|
|
- libkrb5-3
|
|
- libkrb5support0
|
|
- liblcms2-2
|
|
- libncursesw6
|
|
- libnettle7
|
|
- libp11-kit0
|
|
- libpangoxft-1.0-0
|
|
- libpsl5
|
|
- librest-0.7-0
|
|
- libsoup2.4-1
|
|
- libsoup-gnome2.4-1
|
|
- libsqlite3-0
|
|
- libtasn1-6
|
|
- libtiff5
|
|
- libtinfo6
|
|
- libunistring2
|
|
- libwebp6
|
|
- libxft2 # We'll ship our own, updated version of this library.
|
|
- libxml2
|
|
- mime-support
|
|
- readline-common
|
|
- tzdata
|
|
- xkb-data
|
|
|
|
files:
|
|
exclude:
|
|
- etc
|
|
- usr/bin/normalizer
|
|
- usr/bin/pdb3*
|
|
- usr/bin/py3*
|
|
- usr/bin/pydoc*
|
|
- usr/bin/pygettext3*
|
|
- usr/include
|
|
# The next 2 files come from our own build of libXft, and they can be removed.
|
|
- usr/lib/libXft.la
|
|
- usr/lib/pkgconfig
|
|
- usr/lib/python3.9
|
|
- usr/lib/valgrind
|
|
- usr/lib/*-linux-gnu/engines-1.1
|
|
- usr/lib/*-linux-gnu/glib-2.0
|
|
- usr/lib/*-linux-gnu/gtk-3.0
|
|
- usr/lib/*-linux-gnu/libgtk-3.0
|
|
- usr/share/applications
|
|
- usr/share/binfmts
|
|
- usr/share/bug
|
|
- usr/share/doc
|
|
- usr/share/doc-base
|
|
- usr/share/glib-2.0
|
|
- usr/share/lintian
|
|
- usr/share/man
|
|
- usr/share/pixmaps
|
|
- usr/share/python3
|
|
- usr/share/themes
|
|
|
|
runtime:
|
|
env:
|
|
PATH: '${APPDIR}/usr/bin:${PATH}'
|
|
PYTHONHOME: '${APPDIR}/usr'
|
|
PYTHONPATH: '${APPDIR}/usr/lib/python3.10/tkinter:${APPDIR}/usr/lib/python3.10/site-packages'
|
|
APPDIR_LIBRARY_PATH: '${APPDIR}/usr/lib:${APPDIR}/usr/lib/x86_64-linux-gnu:${APPDIR}/lib/x86_64-linux-gnu'
|
|
TCL_LIBRARY: '${APPDIR}/usr/share/tcltk/tcl8.6'
|
|
TK_LIBRARY: '${APPDIR}/usr/lib/tcltk/x86_64-linux-gnu/tk8.6'
|
|
TKPATH: '${APPDIR}/usr/lib/tcltk/x86_64-linux-gnu/tk8.6'
|
|
# The app seems to have problems running on Wayland at the moment.
|
|
# See: https://github.com/DevilXD/TwitchDropsMiner/issues/321
|
|
GDK_BACKEND: x11
|
|
|
|
AppImage:
|
|
arch: x86_64
|
|
file_name: Twitch.Drops.Miner-x86_64.AppImage
|
|
sign-key: None
|
|
update-information: guess
|