www/py-pywebview-qt: New port: Build GUI for your Python program with JavaScript, HTML, and CSS (qt)

pywebview is a lightweight cross-platform wrapper around a webview
component that allows to display HTML content in its own native GUI
window. It gives you the power of web technologies in your desktop
application, hiding the fact that the GUI is browser based. Available
for Windows, macOS, Linux and Android. You can use pywebview either
with a 3rd party web framework or on its own with a two way bridge
between Python and DOM.

WWW: https://github.com/r0x0r/pywebview
PR:		282459
This commit is contained in:
Jesús Daniel Colmenares Oviedo 2024-11-07 18:26:22 -08:00 committed by Jose Alonso Cardenas Marquez
parent f295c24f7c
commit 283eb43e76
No known key found for this signature in database
GPG Key ID: 335B9246BA5E30F4
6 changed files with 71 additions and 0 deletions

View File

@ -1800,6 +1800,7 @@
SUBDIR += py-python-multipart
SUBDIR += py-pyweblib
SUBDIR += py-pywebview-gtk
SUBDIR += py-pywebview-qt
SUBDIR += py-pywikibot
SUBDIR += py-pywry
SUBDIR += py-qh3

View File

@ -0,0 +1,32 @@
PORTNAME= pywebview
DISTVERSION= 5.3.2
CATEGORIES= www python
MASTER_SITES= PYPI
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
PKGNAMESUFFIX= -qt
MAINTAINER= DtxdF@disroot.org
COMMENT= Build GUI for your Python program with JavaScript, HTML, and CSS (qt)
WWW= https://github.com/r0x0r/pywebview
LICENSE= BSD3CLAUSE
LICENSE_FILE= ${WRKSRC}/LICENSE
BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}setuptools-scm>=0:devel/py-setuptools-scm@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}setuptools>=0:devel/py-setuptools@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}wheel>=0:devel/py-wheel@${PY_FLAVOR}
RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}bottle>=0:www/py-bottle@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}proxy_tools>=0:www/py-proxy_tools@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}pyside2>=0:devel/pyside2@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}QtPy>=0:devel/py-QtPy@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}typing-extensions>=0:devel/py-typing-extensions@${PY_FLAVOR}
USES= pyqt:5 python
USE_PYQT= webengine:run
USE_PYTHON= autoplist cryptography pep517
CONFLICTS_INSTALL= www/py-${PORTNAME}-gtk
NO_ARCH= yes
.include <bsd.port.mk>

View File

@ -0,0 +1,3 @@
TIMESTAMP = 1730049620
SHA256 (pywebview-5.3.2.tar.gz) = 77b88a63e65e12913d269205e9c6d357666d4864826749c738bf432bd3ad23d9
SIZE (pywebview-5.3.2.tar.gz) = 443072

View File

@ -0,0 +1,20 @@
--- webview/guilib.py.orig 2024-10-27 17:42:14 UTC
+++ webview/guilib.py
@@ -114,7 +114,7 @@ def initialize(forced_gui: GUIType | None = None):
elif hasattr(sys, 'getandroidapilevel'):
try_import([import_android])
- elif platform.system() == 'Linux' or platform.system() == 'OpenBSD':
+ elif platform.system() == 'Linux' or platform.system() == 'OpenBSD' or platform.system() == 'FreeBSD':
if forced_gui == 'qt':
guis = [import_qt, import_gtk]
else:
@@ -135,7 +135,7 @@ def initialize(forced_gui: GUIType | None = None):
raise WebViewException('You must have pythonnet installed in order to use pywebview.')
else:
raise WebViewException(
- 'Unsupported platform. Only Windows, Linux, OS X, OpenBSD are supported.'
+ 'Unsupported platform. Only Windows, Linux, OS X, OpenBSD, FreeBSD are supported.'
)
guilib.setup_app()

View File

@ -0,0 +1,7 @@
pywebview is a lightweight cross-platform wrapper around a webview
component that allows to display HTML content in its own native GUI
window. It gives you the power of web technologies in your desktop
application, hiding the fact that the GUI is browser based. Available
for Windows, macOS, Linux and Android. You can use pywebview either
with a 3rd party web framework or on its own with a two way bridge
between Python and DOM.

View File

@ -0,0 +1,8 @@
[
{ type: install
message: <<EOM
If the error 'Could not initialize GLX' is displayed, set the 'QT_XCB_GL_INTEGRATION=none'
environment variable or install 'graphics/mesa-dri' and add your user to the 'video' group.
EOM
}
]