Author: ken
Date: Fri May 19 11:39:12 2017
New Revision: 18743
Log:
Build QtWebEngine separately - it often breaks when things change, doing it
this ways saves the time needed to rebuild Qt5: in the full Qt5 build
QtWebEngine is built at the end.
Added:
trunk/BOOK/x/lib/qtwebengine.xml (contents, props changed)
Modified:
trunk/BOOK/introduction/welcome/changelog.xml
trunk/BOOK/packages.ent
trunk/BOOK/x/lib/lib.xml
trunk/BOOK/x/lib/qt5.xml
Modified: trunk/BOOK/introduction/welcome/changelog.xml
==============================================================================
--- trunk/BOOK/introduction/welcome/changelog.xml Fri May 19 11:30:22
2017 (r18742)
+++ trunk/BOOK/introduction/welcome/changelog.xml Fri May 19 11:39:12
2017 (r18743)
@@ -45,6 +45,11 @@
<para>May 19th, 2017</para>
<itemizedlist>
<listitem>
+ <para>[ken] - Use separate QtWebEngine instead of building
+ it as part of Qt5. Fixes
+ <ulink url="&blfs-ticket-root;9248">#9248</ulink>.</para>
+ </listitem>
+ <listitem>
<para>[bdubbs] - Add xf86-input-libinput-0.25.1. Fixes
<ulink url="&blfs-ticket-root;9210">#9210</ulink>.</para>
</listitem>
Modified: trunk/BOOK/packages.ent
==============================================================================
--- trunk/BOOK/packages.ent Fri May 19 11:30:22 2017 (r18742)
+++ trunk/BOOK/packages.ent Fri May 19 11:39:12 2017 (r18743)
@@ -553,6 +553,7 @@
<!ENTITY pango-version "1.40.5">
<!ENTITY pangomm-version "2.40.1">
<!ENTITY qt5-version "5.8.0">
+<!ENTITY qtwebengine-version "5.8.0">
<!ENTITY qtwebkit-version "5.8.0">
<!ENTITY shared-mime-info-version "1.8">
<!ENTITY startup-notification-version "0.12">
Modified: trunk/BOOK/x/lib/lib.xml
==============================================================================
--- trunk/BOOK/x/lib/lib.xml Fri May 19 11:30:22 2017 (r18742)
+++ trunk/BOOK/x/lib/lib.xml Fri May 19 11:39:12 2017 (r18743)
@@ -67,6 +67,7 @@
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="pangomm.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
href="qscintilla.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="qt5.xml"/>
+ <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
href="qtwebengine.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="qtwebkit5.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
href="startup-notification.xml"/>
Modified: trunk/BOOK/x/lib/qt5.xml
==============================================================================
--- trunk/BOOK/x/lib/qt5.xml Fri May 19 11:30:22 2017 (r18742)
+++ trunk/BOOK/x/lib/qt5.xml Fri May 19 11:39:12 2017 (r18743)
@@ -11,8 +11,8 @@
<!ENTITY qt5-download-ftp " ">
<!ENTITY qt5-md5sum "66660cd3d9e1a6fed36e88adcb72e9fe">
<!ENTITY qt5-size "354 MB">
- <!ENTITY qt5-buildsize "8.8 GB (178 MB installed, add 1.1 GB build size
and 115 MB installed size for qtwebengine)">
- <!ENTITY qt5-time "23 SBU (using parallelism=4, add 24 SBU for
qtwebengine)">
+ <!ENTITY qt5-buildsize "8.8 GB (178 MB installed)">
+ <!ENTITY qt5-time "23 SBU (using parallelism=4)">
]>
<sect1 id="qt5" xreflabel="Qt-&qt5-version;">
@@ -103,7 +103,6 @@
<xref linkend="libxkbcommon"/>,
<xref linkend="mesa"/>,
<xref linkend="mtdev"/>,
- <xref linkend="nss"/> (required for QtWebEngine),
<xref linkend="openssl"/>,
<xref linkend="pcre"/>,
<xref linkend="sqlite"/>,
@@ -413,9 +412,8 @@
<para>
<parameter>-skip qtwebengine</parameter>: This switch disables building
- the Qt Web Engine. It is only used by <xref linkend='qupzilla'/> at this
- writing. Note that building the Qt Web Engine substantially increases
- the build time and both the build and installed size.
+ the QtWebEngine. The BLFS editors have chosen to build <xref
+ linkend="qtwebengine"/> separately.
</para>
<para>
Added: trunk/BOOK/x/lib/qtwebengine.xml
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ trunk/BOOK/x/lib/qtwebengine.xml Fri May 19 11:39:12 2017 (r18743)
@@ -0,0 +1,288 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
+ "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
+ <!ENTITY % general-entities SYSTEM "../../general.ent">
+ %general-entities;
+
+ <!ENTITY qtwebengine-major "5.8">
+ <!ENTITY qtwebengine-download-http
"https://download.qt.io/archive/qt/&qtwebengine-major;/&qtwebengine-version;/submodules/qtwebengine-opensource-src-&qtwebengine-version;.tar.xz">
+ <!ENTITY qtwebengine-download-ftp " ">
+ <!ENTITY qtwebengine-md5sum "6e7fb2be161c6db4d988a4f5b329672f">
+ <!ENTITY qtwebengine-size "187 MB">
+ <!ENTITY qtwebengine-buildsize "2.5 GB (153 MB installed including
docs)">
+ <!ENTITY qtwebengine-time "43 SBU (on a 4 core processor)">
+
+<!-- Both qmake and ninja will use all available cores, in fact ninja runs n+2
+ jobs at a time. Most of our readers do not have more than 4 cores.
+ To reduce the number of available cores for measuring the build time:
+ # echo 0 > /sys/devices/system/cpu/cpu4/online
+ and repeat for each subsequent cpu. Never do this for cpu0.
+ You can cat /sys/devices/system/cpu/{online,offline} to check.
+ To reinstate the cores after measuring, echo 1 to the same files. -->
+]>
+
+<sect1 id="qtwebengine" xreflabel="qtwebengine-&qtwebengine-version;">
+ <?dbhtml filename="qtwebengine.html"?>
+
+ <sect1info>
+ <othername>$LastChangedBy$</othername>
+ <date>$Date$</date>
+ </sect1info>
+
+ <title>QtWebEngine-&qtwebengine-version;</title>
+
+ <indexterm zone="qtwebengine">
+ <primary sortas="a-qtwebengine">qtwebengine</primary>
+ </indexterm>
+
+ <sect2 role="package">
+ <title>Introduction to QtWebEngine</title>
+
+ <para>
+ <application>QtWebEngine</application> integrates
+ <application>chromium</application>"s web capabilities into Qt. It
+ ships with its own copy of <xref linkend="ninja"/> which it uses for the
+ build, and various copies of libraries from ffmpeg, icu, libvpx, and zlib
+ (including libminizip) which have been forked by the
+ <application>chromium</application> developers.
+ </para>
+
+ &lfs80_checked;
+ &gcc7_checked;
+
+ <bridgehead renderas="sect3">Package Information</bridgehead>
+ <itemizedlist spacing="compact">
+ <listitem>
+ <para>
+ Download (HTTP): <ulink url="&qtwebengine-download-http;"/>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ Download (FTP): <ulink url="&qtwebengine-download-ftp;"/>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ Download MD5 sum: &qtwebengine-md5sum;
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ Download size: &qtwebengine-size;
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ Estimated disk space required: &qtwebengine-buildsize;
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ Estimated build time: &qtwebengine-time;
+ </para>
+ </listitem>
+ </itemizedlist>
+
+ <bridgehead renderas="sect3">Additional Downloads</bridgehead>
+ <itemizedlist spacing="compact">
+ <listitem>
+ <para>
+ Required patch:
+ <ulink
url="&patch-root;/qtwebengine-&qtwebengine-version;-gcc7-1.patch"/>
+ </para>
+ </listitem>
+ </itemizedlist>
+
+ <bridgehead renderas="sect3">qtwebengine Dependencies</bridgehead>
+
+ <bridgehead renderas="sect4">Required</bridgehead>
+ <!-- the qmake output tends to be misleading. 'khr' is from Mesa -->
+ <para role="required">
+ <xref linkend="nss"/>,
+ <xref linkend="pulseaudio"/>,
+ <xref linkend='qt5'/>
+ </para>
+
+ <bridgehead renderas="sect4">Recommended</bridgehead>
+ <note>
+ <para>
+ If these packages are not installed, the build process will compile and
+ install its own (perhaps older) version, with the side effect of
+ increasing build and installed disk space and build time.
+ </para>
+ </note>
+
+ <para role="recommended">
+ <xref linkend="libwebp"/>,
+ <xref linkend="libxslt"/>,
+ <xref linkend="opus"/>
+ </para>
+
+ <bridgehead renderas="sect4">Optional</bridgehead>
+ <para role="optional">
+ <xref linkend="libevent"/>,
+ <ulink
url="https://github.com/open-source-parsers/jsoncpp/releases">jsoncpp</ulink>,
+ <ulink url="https://github.com/cisco/libsrtp/releases">libsrtp</ulink>,
+ <ulink url="http://google.github.io/snappy/">snappy</ulink>
+ </para>
+
+ <para condition="html" role="usernotes">
+ User Notes: <ulink url="&blfs-wiki;/qtwebengine"/>
+ </para>
+ </sect2>
+
+ <sect2 role="installation">
+ <title>Installation of qtwebengine</title>
+
+ <para>
+ Install <application>qtwebengine</application> by running the following
+ commands:
+ </para>
+
+<screen><userinput>
+patch -Np1 -i ../qtwebengine-&qtwebengine-version;-gcc7-1.patch &&
+qmake -r &&
+make</userinput></screen>
+
+ <para>
+ if you wish to build the HTML documentation, issue:
+ </para>
+
+<screen><userinput>make docs</userinput></screen>
+
+ <para>
+ This package does not come with a test suite.
+ </para>
+
+ <para>
+ Now, as the <systemitem class="username">root</systemitem> user:
+ </para>
+
+<screen role="root"><userinput>make install &&
+ldconfig</userinput></screen>
+
+ <para>
+ If you built the HTML documentation, install it with:
+ </para>
+
+<screen role="root"><userinput>make install_docs</userinput></screen>
+
+ <para>
+ Remove references to the build directory from installed library
+ dependency (prl) files by running the following
+ commands as the <systemitem class="username">root</systemitem> user:
+ </para>
+
+<screen role="root"><userinput>find $QT5PREFIX/ -name \*.prl \
+ -exec sed -i -e '/^QMAKE_PRL_BUILD_DIR/d' {} \;</userinput></screen>
+ </sect2>
+
+ <sect2 role="commands">
+ <title>Command Explanations</title>
+
+ <para>
+ <command>qmake -r</command>: This will build the included copy of
+ <application>ninja</application> and use it to configure the build.
+ That and the subsequent <command>make</command> command will use all
+ available CPU cores.
+ </para>
+
+ </sect2>
+
+ <sect2 role="content">
+ <title>Contents</title>
+
+ <segmentedlist>
+ <segtitle>Installed Programs</segtitle>
+ <segtitle>Installed Libraries</segtitle>
+ <segtitle>Installed Directories</segtitle>
+
+ <seglistitem>
+ <seg>
+ qtwebengine_convert_dict,QtWebEngineProcess
+ </seg>
+ <seg>
+ libQt5WebEngineCore.so, libQt5WebEngine.so, libQt5WebEngineWidgets.so
+ </seg>
+ <seg>
+ $QT5PREFIX/doc/qtwebengine,
+ $QT5PREFIX/includeQtWebEngine,
+ $QT5PREFIX/include/QtWebEngineCore,
+ $QT5PREFIX/include/QtWebEngineWidgets
+ </seg>
+ </seglistitem>
+ </segmentedlist>
+
+ <variablelist>
+ <bridgehead renderas="sect3">Short Descriptions</bridgehead>
+ <?dbfo list-presentation="list"?>
+ <?dbhtml list-presentation="table"?>
+
+ <varlistentry id="qtwebengine_convert_dict">
+ <term><command>qtwebengine_convert_dict</command></term>
+ <listitem>
+ <para>
+ converts hunspell dictionaries (<literal>.dic</literal>) to
chromium
+ format (<literal>.bdic</literal>)
+ </para>
+ <indexterm zone="qtwebengine qtwebengine_convert_dict">
+ <primary
sortas="b-qtwebengine_convert_dict">qtwebengine_convert_dict</primary>
+ </indexterm>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry id="QtWebEngineProcess">
+ <term><command>QtWebEngineProcess</command></term>
+ <listitem>
+ <para>
+ is a libexec program which runs a zygote process (one that listens
+ for spawn requests from a master process and will fork itself in
+ response).
+ </para>
+ <indexterm zone="qtwebengine QtWebEngineProcess">
+ <primary sortas="b-QtWebEngineProcess">QtWebEngineProcess</primary>
+ </indexterm>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry id="libQtWebEngine-lib">
+ <term><filename class="libraryfile">libQtWebEngine.so</filename></term>
+ <listitem>
+ <para>
+ provides QML types for rendering web content within a QML
application.
+ </para>
+ <indexterm zone="qtwebengine libQtWebEngine-lib">
+ <primary sortas="c-libQtWebEngine">libQtWebEngine.so</primary>
+ </indexterm>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry id="libQtWebEngineCore">
+ <term><filename
class="libraryfile">libQtWebEngineCore.so</filename></term>
+ <listitem>
+ <para>
+ provides public API shared by both QtWebEngine and
QtWebEngineWidgets.
+ </para>
+ <indexterm zone="qtwebengine libQtWebEngineCore">
+ <primary
sortas="c-libQtWebEngineCore">libQtWebEngineCore.so</primary>
+ </indexterm>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry id="libQtWebEngineWidgets">
+ <term><filename
class="libraryfile">libQtWebEngineWidgets.so</filename></term>
+ <listitem>
+ <para>
+ provides a web browser engine as well as C++ classes to render and
+ interact with web content.
+ </para>
+ <indexterm zone="qtwebengine libQtWebEngineWidgets">
+ <primary
sortas="c-libQtWebEngineWidgets">libQtWebEngineWidgets.so</primary>
+ </indexterm>
+ </listitem>
+ </varlistentry>
+
+ </variablelist>
+ </sect2>
+</sect1>
--
http://lists.linuxfromscratch.org/listinfo/blfs-book
FAQ: http://www.linuxfromscratch.org/blfs/faq.html
Unsubscribe: See the above information page