version: 1 AppDir: path: !ENV '${SCANSLICER_APPDIR}' app_info: id: scanslicer name: ScanSlicer icon: scanslicer version: "1.1.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" 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" 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" 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 --require-hashes --ignore-installed --prefix=/usr --root="${APPDIR_PATH}" -r "${SCANSLICER_REQUIREMENTS}" python3 -m pip install --no-cache-dir --no-deps --ignore-installed --prefix=/usr --root="${APPDIR_PATH}" "${SCANSLICER_WHEEL}" AppImage: arch: x86_64