flathub / com.riverbankcomputing.PyQt.BaseApp

https://flathub.org/apps/details/com.riverbankcomputing.PyQt.BaseApp
7 stars 4 forks source link

PyQt BaseApp

This base application is designed to be used for packaging Flatpak applications that use PyQt,
Riverbank Computing's Python bindings for The Qt Company's Qt application framework.

Note: This packaging is not affilated with, or supported by Riverbank Computing Limited.

To help improve this documentation, open a pull request against the wiki branch.

What's included?

Build tools and their dependencies

Build tools are included to help package extra PytQt bindings and Python modules. These tools are removed by the
BaseApp-cleanup.sh script.

Python module build tools

PyQt build tools

Retained Python modules

While the following Python modules are dependencies of the mentioned build tools, they are not removed by the
BaseApp-cleanup.sh script, as they might be needed by the Flatpak application.

Branch Comparison

Branch Maintained QtWebEngine
5.15-21.08 No Yes
5.15-22.08 No Yes
5.15-23.08 Yes Yes
6.2 No Yes
6.3 No Yes
6.4 No No
6.5 No Yes
6.6 No Yes
6.7 Yes Yes

How to use?

Example: PyQtWebEngine application

id: org.kde.PyQtWebEngineApp
runtime: org.kde.Platform
runtime-version: '6.7'
sdk: org.kde.Sdk
base: com.riverbankcomputing.PyQt.BaseApp
base-version: '6.7'
cleanup-commands:
  - /app/cleanup-BaseApp.sh
modules:
  - name: PyQtWebEngineApp
...

Example: PyQt application

While it's not required, it's possible to set the environment variable BASEAPP_REMOVE_WEBENGINE to have the
BaseApp-cleanup.sh script remove the PyQtWebEngine bindings and QtWebEngine with its dependencies.

id: org.kde.PyQtApp
runtime: org.kde.Platform
runtime-version: '6.7'
sdk: org.kde.Sdk
base: com.riverbankcomputing.PyQt.BaseApp
base-version: '6.7'
cleanup-commands:
  - /app/cleanup-BaseApp.sh
build-options:
  env:
    - BASEAPP_REMOVE_WEBENGINE=1
finish-args:
  - --env=QTWEBENGINEPROCESS_PATH=/app/bin/QtWebEngineProcess
  ...
modules:
  - name: PyQtApp
...

Note on QtWebEngine

QtWebEngine in only available for those versions for those the QtWebEngine BaseApp is available. If the QtWebEngine BaseApp is aviable after a new versions of this BaseApp has been released, it will be added. SO make sure, you set BASEAPP_REMOVE_WEBENGINE to 1 if you don't need them to be future proof.