ScanSlicer/packaging/appimage/AppImageBuilder.yml

97 lines
3.8 KiB
YAML
Raw Normal View History

version: 1
AppDir:
path: !ENV '${SCANSLICER_APPDIR}'
app_info:
id: scanslicer
name: ScanSlicer
icon: scanslicer
version: "1.0.0"
exec: usr/bin/python3
exec_args: "-m scanslicer $@"
apt:
arch: amd64
allow_unauthenticated: false
sources:
- sourceline: "deb https://archive.ubuntu.com/ubuntu/ noble main restricted universe multiverse"
key_url: "https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x871920D1991BC93C"
include:
- python3
- python3-pip
- libdbus-1-3
- libfontconfig1
- libegl1
- libgl1
- libglib2.0-0
- libglib2.0-bin
- libsm6
- libwayland-client0
- libwayland-cursor0
- libwayland-egl1
- libxkbcommon0
- libx11-xcb1
- libxcb-cursor0
- libgdk-pixbuf2.0-bin
- libgtk-3-bin
files:
include:
- /usr/bin/python3
- /usr/bin/pip3
- /usr/lib
- /usr/share
exclude:
- usr/share/man
- usr/share/doc/*/README.*
- usr/share/doc/*/changelog.*
- usr/share/doc/*/NEWS.*
- usr/share/doc/*/TODO.*
- usr/lib/x86_64-linux-gnu/libQt6*.so*
- usr/lib/x86_64-linux-gnu/qt6/**
runtime:
env:
APPDIR: "${APPDIR}"
PYTHONHOME: "${APPDIR}/usr"
PYTHONNOUSERSITE: "1"
QT_PLUGIN_PATH: "${APPDIR}/usr/local/lib/python3.12/dist-packages/PySide6/Qt/plugins"
LD_LIBRARY_PATH: "${APPDIR}/usr/local/lib/python3.12/dist-packages/PySide6/Qt/lib:${APPDIR}/usr/local/lib/python3.12/dist-packages/opencv_python.libs:${APPDIR}/usr/lib:${APPDIR}/usr/lib/x86_64-linux-gnu:${LD_LIBRARY_PATH}"
PATH: "${APPDIR}/usr/bin:${PATH}"
after_bundle: |
APPDIR_PATH="${APPDIR:-${SCANSLICER_APPDIR:-}}"
if [ -z "${APPDIR_PATH}" ]; then
echo "AppDir path is not set (SCANSLICER_APPDIR/APPDIR)." >&2
exit 1
fi
mkdir -p "${APPDIR_PATH}/usr/share/applications"
2026-03-04 14:59:01 +00:00
mkdir -p "${APPDIR_PATH}/usr/share/doc/scanslicer"
mkdir -p "${APPDIR_PATH}/usr/share/icons"
mkdir -p "${APPDIR_PATH}/usr/share/pixmaps"
mkdir -p "${APPDIR_PATH}/icons"
mkdir -p "${APPDIR_PATH}/pixmaps"
cp "${SCANSLICER_ROOT}/packaging/appimage/scanslicer.desktop" "${APPDIR_PATH}/usr/share/applications/scanslicer.desktop"
2026-03-04 14:59:01 +00:00
cp "${SCANSLICER_ROOT}/LICENSE" "${APPDIR_PATH}/usr/share/doc/scanslicer/LICENSE"
cp "${SCANSLICER_ROOT}/THIRD_PARTY_NOTICES" "${APPDIR_PATH}/usr/share/doc/scanslicer/THIRD_PARTY_NOTICES"
cp "${SCANSLICER_ROOT}/packaging/appimage/scanslicer.svg" "${APPDIR_PATH}/usr/share/icons/scanslicer.svg"
cp "${SCANSLICER_ROOT}/packaging/appimage/scanslicer.svg" "${APPDIR_PATH}/usr/share/pixmaps/scanslicer.svg"
rsvg-convert -w 256 -h 256 "${SCANSLICER_ROOT}/packaging/appimage/scanslicer.svg" > "${APPDIR_PATH}/usr/share/icons/scanslicer.png"
cp "${APPDIR_PATH}/usr/share/icons/scanslicer.png" "${APPDIR_PATH}/usr/share/pixmaps/scanslicer.png"
cp "${APPDIR_PATH}/usr/share/icons/scanslicer.png" "${APPDIR_PATH}/icons/scanslicer.png"
cp "${APPDIR_PATH}/usr/share/icons/scanslicer.png" "${APPDIR_PATH}/pixmaps/scanslicer.png"
cp "${APPDIR_PATH}/usr/share/icons/scanslicer.png" "${APPDIR_PATH}/.DirIcon"
test -f "${APPDIR_PATH}/usr/share/icons/scanslicer.png"
test -f "${APPDIR_PATH}/usr/share/pixmaps/scanslicer.png"
2026-03-04 14:59:01 +00:00
test -f "${APPDIR_PATH}/usr/share/doc/scanslicer/LICENSE"
test -f "${APPDIR_PATH}/usr/share/doc/scanslicer/THIRD_PARTY_NOTICES"
test -f "${APPDIR_PATH}/icons/scanslicer.png"
test -f "${APPDIR_PATH}/pixmaps/scanslicer.png"
test -f "${APPDIR_PATH}/.DirIcon"
rm -rf "${APPDIR_PATH}/usr/lib/x86_64-linux-gnu/qt6"
rm -f "${APPDIR_PATH}"/usr/lib/x86_64-linux-gnu/libQt6*.so*
python3 -m pip install --no-cache-dir --upgrade --ignore-installed --prefix=/usr --root="${APPDIR_PATH}" -r "${SCANSLICER_REQUIREMENTS}"
AppImage:
arch: x86_64