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>&quot;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 &amp;&amp;
+qmake -r                                        &amp;&amp;
+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 &amp;&amp;
+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

Reply via email to