version: 1
script:
  - rm -rf AppDir || true
  - mkdir -p AppDir/usr/local/lib/python3.10/dist-packages
  - uv venv
  - uv pip install --no-cache-dir ../
  - cp -r .venv/lib/python3.10/site-packages/* AppDir/usr/local/lib/python3.10/dist-packages
  - cp -r share AppDir/usr
  - cp -r lib AppDir/usr
  - rm -rf AppDir/usr/local/lib/python3.10/dist-packages/PySide6/Qt/qml/
  - rm -f AppDir/usr/local/lib/python3.10/dist-packages/PySide6/{assistant,designer,linguist,lrelease,lupdate}
  - rm -f AppDir/usr/local/lib/python3.10/dist-packages/PySide6/{Qt3DAnimation*,Qt3DCore*,Qt3DExtras*,Qt3DInput*,Qt3DLogic*,Qt3DRender*,QtBluetooth*,QtCharts*,QtConcurrent*,QtDataVisualization*,QtDesigner*,QtExampleIcons*,QtGraphs*,QtGraphsWidgets*,QtHelp*,QtHttpServer*,QtLocation*,QtMultimedia*,QtMultimediaWidgets*,QtNetworkAuth*,QtNfc*,QtOpenGL*,QtOpenGLWidgets*,QtPdf*,QtPdfWidgets*,QtPositioning*,QtPrintSupport*,QtQml*,QtQuick*,QtQuick3D*,QtQuickControls2*,QtQuickTest*,QtQuickWidgets*,QtRemoteObjects*,QtScxml*,QtSensors*,QtSerialBus*,QtSerialPort*,QtSpatialAudio*,QtSql*,QtStateMachine*,QtSvg*,QtSvgWidgets*,QtTest*,QtTextToSpeech*,QtUiTools*,QtWebChannel*,QtWebEngineCore*,QtWebEngineQuick*,QtWebEngineWidgets*,QtWebSockets*,QtWebView*,QtXml*}
  - shopt -s extglob
  - rm -rf AppDir/usr/local/lib/python3.10/dist-packages/PySide6/Qt/lib/!(libQt6Core*|libQt6DBus*|libQt6Egl*|libQt6Gui*|libQt6Network*|libQt6Wayland*|libQt6Widgets*|libQt6XcbQpa*|libicudata*|libicui18n*|libicuuc*)
AppDir:
  path: ./AppDir
  after_bundle:
    - rm -rf $TARGET_APPDIR/usr/share/man || true
    - rm -rf $TARGET_APPDIR/usr/share/doc || true
    - rm -rf $TARGET_APPDIR/usr/share/doc-base || true
    - rm -rf $TARGET_APPDIR/usr/share/info || true
    - rm -rf $TARGET_APPDIR/usr/share/help || true
    - rm -rf $TARGET_APPDIR/usr/share/gtk-doc || true
    - rm -rf $TARGET_APPDIR/usr/share/devhelp || true
    - rm -rf $TARGET_APPDIR/usr/share/examples || true
    - rm -rf $TARGET_APPDIR/usr/share/pkgconfig || true
    - rm -rf $TARGET_APPDIR/usr/share/bash-completion || true
    - rm -rf $TARGET_APPDIR/usr/share/pixmaps || true
    - rm -rf $TARGET_APPDIR/usr/share/mime || true
    - rm -rf $TARGET_APPDIR/usr/share/metainfo || true
    - rm -rf $TARGET_APPDIR/usr/include || true
    - rm -rf $TARGET_APPDIR/usr/lib/pkgconfig || true
    - find $TARGET_APPDIR -type f \( -name '*.a' -o -name '*.la' -o -name '*.h' -o -name '*.cmake' -o -name '*.pdb' \) -delete || true
    - "find $TARGET_APPDIR -type f -executable -exec file {} \\; | grep ELF | grep -v '/dist-packages/' | grep -v '/site-packages/' | cut -d: -f1 | xargs strip --strip-unneeded || true"
    - find $TARGET_APPDIR -type d -empty -delete || true
  app_info:
    id: ru.linux_gaming.PortProtonQt
    name: PortProtonQt
    icon: ru.linux_gaming.PortProtonQt
    version: 0.1.8
    exec: usr/bin/python3
    exec_args: "-m portprotonqt.app $@"
  apt:
    arch: amd64
    sources:
      - sourceline: 'deb [arch=amd64] http://archive.ubuntu.com/ubuntu/ jammy main restricted universe multiverse'
        key_url: 'http://keyserver.ubuntu.com/pks/lookup?op=get&search=0x871920d1991bc93c'
    include:
      - python3-minimal
      - python3-pkg-resources
      - libopengl0
      - libk5crypto3
      - libkrb5-3
      - libgssapi-krb5-2
      - libxcb-cursor0
      - libimage-exiftool-perl
      - xdg-utils
      - cabextract
      - curl
      - 7zip
      - unzip
      - unrar
    exclude:
      - "*-doc"
      - "*-man"
      - manpages
      - mandb
      - "*-dev"
      - "*-static"
      - "*-dbg"
      - "*-dbgsym"
  runtime:
    env:
      PYTHONHOME: '${APPDIR}/usr'
      PYTHONPATH: '${APPDIR}/usr/local/lib/python3.10/dist-packages'
      PERLLIB: '${APPDIR}/usr/share/perl5:${APPDIR}/usr/lib/x86_64-linux-gnu/perl/5.34:${APPDIR}/usr/share/perl/5.34'
AppImage:
  sign-key: None
  arch: x86_64
  comp: zstd
