diff --git a/build-aux/AppImageBuilder.yml b/build-aux/AppImageBuilder.yml index 4cf5c77..be8bd16 100644 --- a/build-aux/AppImageBuilder.yml +++ b/build-aux/AppImageBuilder.yml @@ -1,22 +1,22 @@ version: 1 script: - # 1) чистим старый AppDir + # 1) Чистим старый AppDir - rm -rf AppDir || true - # 2) создаём структуру каталога + # 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 + # 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) чистим от ненужных модулей и бинарников + # 5) Чистим от ненужных модулей и бинарников - 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*} + - 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*) + - 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 @@ -45,6 +45,12 @@ AppDir: - 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: [] runtime: @@ -52,6 +58,11 @@ AppDir: PYTHONHOME: '${APPDIR}/usr' PYTHONPATH: '${APPDIR}/usr/local/lib/python3.10/dist-packages' + before_bundle: + # Применяем strip к бинарникам и библиотекам для уменьшения размера + - find AppDir/usr/bin -type f -executable -exec strip --strip-unneeded {} \; + - find AppDir/usr/local/lib -type f -name "*.so*" -exec strip --strip-unneeded {} \; + AppImage: sign-key: None arch: x86_64 diff --git a/build-aux/PKGBUILD b/build-aux/PKGBUILD index 89c11aa..19ee2e7 100644 --- a/build-aux/PKGBUILD +++ b/build-aux/PKGBUILD @@ -6,7 +6,7 @@ arch=('any') url="https://git.linux-gaming.ru/Boria138/PortProtonQt" license=('GPL-3.0') depends=('python-numpy' 'python-requests' 'python-babel' 'python-evdev' 'python-pyudev' 'python-orjson' - 'python-psutil' 'python-tqdm' 'python-vdf' 'pyside6' 'icoextract' 'python-pillow' 'perl-image-exiftool' 'xdg-utils' 'python-beautifulsoup4') + 'python-psutil' 'python-tqdm' 'python-vdf' 'pyside6' 'icoextract' 'python-pillow' 'perl-image-exiftool' 'xdg-utils' 'python-beautifulsoup4' 'qt6-multimedia') makedepends=('python-'{'build','installer','setuptools','wheel'}) source=("git+https://git.linux-gaming.ru/Boria138/PortProtonQt#tag=v$pkgver") sha256sums=('SKIP') diff --git a/build-aux/PKGBUILD-git b/build-aux/PKGBUILD-git index a549f2f..c5aaa11 100644 --- a/build-aux/PKGBUILD-git +++ b/build-aux/PKGBUILD-git @@ -6,7 +6,7 @@ arch=('any') url="https://git.linux-gaming.ru/Boria138/PortProtonQt" license=('GPL-3.0') depends=('python-numpy' 'python-requests' 'python-babel' 'python-evdev' 'python-pyudev' 'python-orjson' - 'python-psutil' 'python-tqdm' 'python-vdf' 'pyside6' 'icoextract' 'python-pillow' 'perl-image-exiftool' 'xdg-utils' 'python-beautifulsoup4') + 'python-psutil' 'python-tqdm' 'python-vdf' 'pyside6' 'icoextract' 'python-pillow' 'perl-image-exiftool' 'xdg-utils' 'python-beautifulsoup4' 'qt6-multimedia') makedepends=('python-'{'build','installer','setuptools','wheel'}) source=("git+https://git.linux-gaming.ru/Boria138/PortProtonQt.git") sha256sums=('SKIP') diff --git a/build-aux/fedora-git.spec b/build-aux/fedora-git.spec index 988cb62..0bf6338 100644 --- a/build-aux/fedora-git.spec +++ b/build-aux/fedora-git.spec @@ -42,9 +42,11 @@ Requires: python3-tqdm Requires: python3-vdf Requires: python3-pefile Requires: python3-pillow +Requires: python3-beautifulsoup4 +Requires: qt6-qtmultimedia +Requires: qt6-qtsvg Requires: perl-Image-ExifTool Requires: xdg-utils -Requires: python3-beautifulsoup4 %description -n python3-%{pypi_name}-git This application provides a sleek, intuitive graphical interface for managing and launching games from PortProton, Steam, and Epic Games Store. It consolidates your game libraries into a single, user-friendly hub for seamless navigation and organization. Its lightweight structure and cross-platform support deliver a cohesive gaming experience, eliminating the need for multiple launchers. Unique PortProton integration enhances Linux gaming, enabling effortless play of Windows-based titles with minimal setup. diff --git a/build-aux/fedora.spec b/build-aux/fedora.spec index 088dbda..e28e66a 100644 --- a/build-aux/fedora.spec +++ b/build-aux/fedora.spec @@ -39,9 +39,11 @@ Requires: python3-tqdm Requires: python3-vdf Requires: python3-pefile Requires: python3-pillow +Requires: python3-beautifulsoup4 +Requires: qt6-qtmultimedia +Requires: qt6-qtsvg Requires: perl-Image-ExifTool Requires: xdg-utils -Requires: python3-beautifulsoup4 %description -n python3-%{pypi_name} This application provides a sleek, intuitive graphical interface for managing and launching games from PortProton, Steam, and Epic Games Store. It consolidates your game libraries into a single, user-friendly hub for seamless navigation and organization. Its lightweight structure and cross-platform support deliver a cohesive gaming experience, eliminating the need for multiple launchers. Unique PortProton integration enhances Linux gaming, enabling effortless play of Windows-based titles with minimal setup.