94 lines
3.8 KiB
YAML
94 lines
3.8 KiB
YAML
version: 1
|
|
|
|
script:
|
|
# 1) Чистим старый AppDir
|
|
- rm -rf AppDir || true
|
|
# 2) Создаём структуру каталога
|
|
- mkdir -p AppDir/usr/local/lib/python3.10/dist-packages
|
|
# 3) UV: создаём виртуальное окружение и устанавливаем зависимости из pyproject.toml
|
|
- uv venv
|
|
- uv pip install --no-cache-dir ../
|
|
# 4) Копируем всё из .venv в AppDir
|
|
- cp -r .venv/lib/python3.10/site-packages/* AppDir/usr/local/lib/python3.10/dist-packages
|
|
- cp -r share AppDir/usr
|
|
# 5) Удаляем __pycache__ файлы
|
|
- find AppDir -name "__pycache__" -type d -exec rm -rf {} + || true
|
|
# 6) Удаляем тестовые файлы и документацию
|
|
- find AppDir -path "*/test*" -type d -exec rm -rf {} + || true
|
|
- find AppDir -path "*/tests*" -type d -exec rm -rf {} + || true
|
|
- find AppDir -name "*.md" -delete || true
|
|
- find AppDir -name "*.rst" -delete || true
|
|
- find AppDir -name "*.txt" -delete || true
|
|
- find AppDir -path "*/doc*" -type d -exec rm -rf {} + || true
|
|
- find AppDir -path "*/docs*" -type d -exec rm -rf {} + || true
|
|
- find AppDir -name "README*" -delete || true
|
|
- find AppDir -name "CHANGELOG*" -delete || true
|
|
- find AppDir -name "LICENSE*" -delete || true
|
|
- find AppDir -name "COPYING*" -delete || true
|
|
- find AppDir -name "AUTHORS*" -delete || true
|
|
- find AppDir -name "CONTRIBUTORS*" -delete || true
|
|
# 7) Чистим от ненужных модулей и бинарников
|
|
- 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/{Qt3D*,QtBluetooth*,QtCharts*,QtConcurrent*,QtDataVisualization*,QtDesigner*,QtHelp*,QtMultimedia*,QtNetwork*,QtOpenGL*,QtPositioning*,QtPrintSupport*,QtQml*,QtQuick*,QtRemoteObjects*,QtScxml*,QtSensors*,QtSerialPort*,QtSql*,QtStateMachine*,QtTest*,QtWeb*,QtXml*,QtMultimedia*}
|
|
- shopt -s extglob
|
|
- rm -rf AppDir/usr/local/lib/python3.10/dist-packages/PySide6/Qt/lib/!(libQt6Core*|libQt6Gui*|libQt6Widgets*|libQt6OpenGL*|libQt6XcbQpa*|libQt6Wayland*|libQt6Egl*|libicudata*|libicuuc*|libicui18n*|libQt6DBus*|libQt6Svg*|libQt6Qml*|libQt6Network*|libQt6Multimedia*)
|
|
|
|
AppDir:
|
|
path: ./AppDir
|
|
|
|
app_info:
|
|
id: ru.linux_gaming.PortProtonQt
|
|
name: PortProtonQt
|
|
icon: ru.linux_gaming.PortProtonQt
|
|
version: 0.1.3
|
|
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
|
|
- python3-pkg-resources
|
|
- libopengl0
|
|
- libk5crypto3
|
|
- libkrb5-3
|
|
- libgssapi-krb5-2
|
|
- libxcb-cursor0
|
|
- libimage-exiftool-perl
|
|
- xdg-utils
|
|
- libgstreamer1.0-0
|
|
- libgstreamer-plugins-base1.0-0
|
|
- gstreamer1.0-plugins-base
|
|
- gstreamer1.0-plugins-good
|
|
- gstreamer1.0-libav
|
|
- libpulse0
|
|
exclude:
|
|
- man-db
|
|
- manpages
|
|
- manpages-*
|
|
- doc-base
|
|
- info
|
|
- install-info
|
|
|
|
runtime:
|
|
env:
|
|
PYTHONHOME: '${APPDIR}/usr'
|
|
PYTHONPATH: '${APPDIR}/usr/local/lib/python3.10/dist-packages'
|
|
|
|
before_bundle:
|
|
# Применяем strip к бинарникам и библиотекам для уменьшения размера
|
|
- find AppDir -type f -name "*.so*" -exec strip --strip-all {} \; 2>/dev/null || true
|
|
- find AppDir -type f -executable -exec strip --strip-unneeded {} \; 2>/dev/null || true
|
|
|
|
# Удаляем пустые папки
|
|
- find AppDir -type d -empty -delete || true
|
|
|
|
AppImage:
|
|
sign-key: None
|
|
arch: x86_64
|