QtWebEngine-5.13.0
Introduction à QtWebEngine
QtWebEngine intègre les
composantes web de chromium dans
Qt. Il contient sa propre copie de ninja qu'il utilise lors de la
construction s'il ne peut pas trouver une copie sur le système, et
diverses copies de bibliothèques de ffmpeg, icu, libvpx et zlib
(dont libminizip) qui ont été forkées par les développeurs de
chromium.
Ce paquet est connu pour se construire correctement sur une
plateforme LFS-9.0.
Note
Par défaut, ninja utilisera tous les CPU actifs + 2 (si au moins
4 existent), même s'ils ne sont pas disponibles pour la tâche
actuelle parce que le terminal a été restreint avec
« taskset ». Pour éviter cela, voir les explications
des commandes ci-dessous.
De manière inhabituelle, le système de construction GN intégré
(utilisé pour créer les fichiers Ninja) a besoin d'une version
statique de libstdc++.a
bien que
les bibliothèque installées utilisent bien la version partagée.
Si cette bibliothèque statique n'est pas présente, la
construction échouera rapidement. Remarquez que si vous essayez
de construire webengine en tant que partie de Qt et que la bibliothèque statique n'est pas
disponible, cette construction terminera sans installer webengine
ou échouera pendant l'installation (les deux comportements ont
été observés en 5.12.0).
Informations sur le paquet
Téléchargements supplémentaires
Dépendances de qtwebengine
Requises
NSS-3.45, Python-2.7.16
et Qt-5.13.0
Recommandées
Note
Si ces paquets ne sont pas installés, le processus de
construction compilera et installera ses propres (sans doute plus
vieilles) versions, avec pour effet d'augmenter l'espace disque
utilisé et le temps pris par la construction et l'installation.
soit alsa-lib-1.1.9 soit PulseAudio-12.2 (ou les deux), FFmpeg-4.2, ICU-64.2, libwebp-1.0.3, libxslt-1.1.33
et Opus-1.3.1
Facultatives
libevent-2.1.11, Poppler-0.79.0, jsoncpp,
libsrtp, snappy
Notes utilisateur : http://wiki.linuxfromscratch.org/blfs/wiki/qtwebengine
Installation de qtwebengine
Tout d'abord assurez-vous que les en-têtes locaux sont disponibles
lorsque vous ne construisez pas ce paquet en tant que partie de
Qt-5.13.0 :
find -type f -name "*.pr[io]" |
xargs sed -i -e 's|INCLUDEPATH += |&$$QTWEBENGINE_ROOT/include |'
Ensuite, appliquez un correctif qui corrige des problèmes de rendu
de fond dans Falkon, et des crashs sur des sites avec beaucoup de
contenus multimédias.
patch -Np1 -i ../qtwebengine-5.13.0-background_rendering_fix-1.patch
Si une version plus ancienne de la bibliothèque principale de ce
paquet est installée et si vous construisez ce paquet séparément,
il se liera à celle-ci plutôt que sa propre version pas encore
installée, et échouera à cause de symboles manquants. Évitez cela,
en tant qu'utilisateur root
, en
déplaçant le lien symbolique :
if [ -e ${QT5DIR}/lib/libQt5WebEngineCore.so ]; then
mv -v ${QT5DIR}/lib/libQt5WebEngineCore.so{,.old}
fi
Installez qtwebengine en lançant
les commandes suivantes :
mkdir build &&
cd build &&
qmake .. -- -system-ffmpeg -webengine-icu &&
make
Ce paquet n'est pas fourni avec une suite de tests.
Maintenant, en tant qu'utilisateur root
:
make install
Supprimez les références au répertoire de construction dans les
bibliothèques de dépendances (prl) installées en lançant les
commandes suivantes en tant qu'utilisateur root
:
find $QT5DIR/ -name \*.prl \
-exec sed -i -e '/^QMAKE_PRL_BUILD_DIR/d' {} \;
Explication des commandes
qmake : Ceci
construira la copie embarquée de ninja si elle n'est pas déjà installée et
l'utilisera pour configurer la construction.
-- -system-ffmpeg
-webengine-icu : Si des options sont passées à
qmake elles doivent apparaître après « -- » qui doit
suivre les « .. » qui pointent vers le répertoire
principal. Les options lui font utiliser les paquets ffmpeg et icu
du système. Si vous le construisez en tant que partie de Qt5, le
paquet icu du système est automatiquement utilisé (seulement) par
Qt5Core s'il est disponible, mais à moins que vous utilisiez cette
option webengine utilisera toujours la copie incluse de icu, ce qui
demande plus de temps et d'espace pour la construction.
NINJAJOBS=4 make
: Si vous avez
corrigé le ninja du système dans LFS pour qu'il reconnaisse la
variable d'environnement NINJAJOBS, cette commande lancer le ninja
du système avec le nombre de travaux spécifiées (c.-à-d. 4). Il y a
plusieurs raisons pour lesquelles vous pourriez vouloir faire
cela :
-
Construire sur un sous-ensemble des CPU permet de mesurer le
temps de construction pour ce nombre de processeurs et de
lancer d'autres tâches gourmandes en CPU sur les autres
cœurs.
-
Pour améliorer la vitesse de construction sur les machines
moins bien dotées à 4 cœurs. Sur une machine avec un CPU
puissant et beaucoup de RAM, N+2 travaux (par défaut avec
ninja quand la machine a au moins 4 cœurs) pour le très grand
nombre de fichiers C++ compilés dans ce paquet n'est
typiquement que légèrement plus rapide que de lancer N
travaux en même temps. Mais pour une machine avec moins de
mémoire, cela peut être beaucoup plus lent.
-
Réduire le nombre de cœurs utilisé pour des paquets gourmands
en CPU pendant un long moment peut atténuer des problèmes de
température.
Configuration de QtWebEngine
Informations sur la configuration
Si vous mettez à jour depuis une version mineur plus ancienne de
cette application, vous devrez nettoyer le cache du navigateur pour que certaines pages
fonctionnent, p. ex. pour falkon
ce sera dans ~/.cache/falkon/
. vous
devrez le faire si le navigateur commence à rendre la page puis
se change en un onglet vide avec un message disant que quelque
chose s'est mal passé, et un bouton pour réessayer. Même après
avoir supprimé l'ancien cache, vous pourriez avoir besoin de
réessayer plusieurs fois pour chaque onglet affecté.
Contents
Programmes installés:
qtwebengine_convert_dict et
QtWebEngineProcess
Bibliothèques installées:
libQt5WebEngineCore.so,
libQt5WebEngine.so et libQt5WebEngineWidgets.so
Répertoires installés:
$QT5PREFIX/includeQtWebEngine,
$QT5PREFIX/include/QtWebEngineCore et
$QT5PREFIX/include/QtWebEngineWidgets
Descriptions courtes
qtwebengine_convert_dict
|
converti les dictionnaires hunspell (.dic ) au format chromium (.bdic )
|
QtWebEngineProcess
|
est un programme libexec qui lance un processus zygote
(qui écoute les requêtes de spawn d'un processus maître
et se fork en réponse).
|
libQtWebEngine.so
|
fournit des types QML pour présenter du contenu web dans
une application QML.
|
libQtWebEngineCore.so
|
fournit l'API publique partagée par QtWebEngine et
QtWebEngineWidgets.
|
libQtWebEngineWidgets.so
|
fournit un moteur de navigateur web ainsi que des classes
C++ pour présenter et interagir avec du contenu web.
|
Last updated on 2019-08-21 22:14:27 +0000