Changeset c0f71f2


Ignore:
Timestamp:
01/03/2024 05:49:31 PM (5 months ago)
Author:
Douglas R. Reno <renodr@…>
Branches:
12.1, ken/TL2024, lazarus, plabs/newcss, rahul/power-profiles-daemon, trunk, xry111/llvm18
Children:
18fe946
Parents:
8a09beb
Message:

QtWebEngine: use Python 3.11 instead, and simplify the instructions.

To do this I've created build_fixes-2.patch. This contains:

  • Fix for shipped ffmpeg build failure
  • Fixes for Python 3.11 changes
  • Changes for ICU-74, but modified to allow building on previous versions of BLFS and their versions of ICU
  • The NINJAJOBS change
  • Chunks from a patch from ArchLinux32 to prevent instantaneous crashes in Falkon. Still causes issues with text rendering, so I've created a note in the Falkon page. However, video playback and images display perfectly. I will revisit this in February once we have the new glibc. Unlike previous issues, it no longer crashes, so that's a good start!

This significantly brings down the count of instructions for this page
and should make it a lot easier to follow.

I've tested this on both x86_64 and i686. On i686 there's a major
improvement in that Falkon (and KDE System Monitor) actually start and
run, though in the case of Falkon there is still no text.

Files:
3 edited

Legend:

Unmodified
Added
Removed
  • introduction/welcome/changelog.xml

    r8a09beb rc0f71f2  
    4242      <para>January 3rd, 2024</para>
    4343      <itemizedlist>
     44        <listitem>
     45          <para>[renodr] - Move QtWebEngine to use the Python 3.11 version
     46          installed in /opt. Fixes
     47          <ulink url="&blfs-ticket-root;19016">#19016</ulink>.</para>
     48        </listitem>
    4449        <listitem>
    4550          <para>[bdubbs] - Update to numpy-1.26.3 (Python Module). Fixes
  • x/lib/qtwebengine.xml

    r8a09beb rc0f71f2  
    243243        <para>
    244244          Required patch:
    245           <ulink url="&patch-root;/qtwebengine-&qtwebengine-version;-build_fixes-1.patch"/>
     245          <ulink url="&patch-root;/qtwebengine-&qtwebengine-version;-build_fixes-2.patch"/>
    246246        </para>
    247247      </listitem>
     
    269269      <xref linkend="nodejs"/>,
    270270      <xref linkend="nss"/>,
    271       <xref linkend="pciutils"/>, and
     271      <xref linkend="pciutils"/>,
     272      <xref linkend="python311"/>, and
    272273      (<xref linkend='qt5'/> or
    273274       <xref role="nodep" linkend='qt5-components'/> with qtlocation and qtwebchannel)
     
    346347    </para>
    347348
    348 <screen><userinput remap="pre">patch -Np1 -i ../qtwebengine-&qtwebengine-version;-build_fixes-1.patch</userinput></screen>
     349<screen><userinput remap="pre">patch -Np1 -i ../qtwebengine-&qtwebengine-version;-build_fixes-2.patch</userinput></screen>
    349350
    350351    <para>
     
    360361         Not marked nodump because it won't affect the build with system
    361362         ffmpeg anyway.  -->
     363
     364    <!-- Now in build_fixes-2
    362365    <para>
    363366      Otherwise, fix an issue in shipped ffmpeg causing it fail to build
     
    367370<screen><userinput remap="pre">sed 's/(uint8_t)\(([^)]*)\|shift\)/\1 \&amp; 0x1F/' \
    368371    -i src/3rdparty/chromium/third_party/ffmpeg/libavcodec/x86/mathops.h</userinput></screen>
     372    -->
    369373
    370374<!-- start of commands for git versions only -->
     
    405409    -i src/3rdparty/chromium/media/media_options.gni</userinput></screen>
    406410
     411<!-- Now in build_fixes-2.patch (except Python 3.12 changes, those are commented
     412     until we eventually move to Python 3.12 again for this package (though
     413     hopefully by that point these issues will be resolved)
    407414    <para>
    408415      Next, fix the build tools so they can be run with Python-3.11+:
     
    457464<screen><userinput>sed -e 's/^#define BA_LB_COUNT.*$/#define BA_LB_COUNT 40/' \
    458465    -i src/3rdparty/chromium/third_party/blink/renderer/platform/text/text_break_iterator.cc</userinput></screen>
    459 
    460     <para>
    461       If you are using the system copy of libxml2 (which requires that libxml2
    462       has been built with the '--with-icu' option), adapt to an API change:
    463     </para>
    464 
    465 <screen role="nodump"><userinput>sed -e 's/xmlError/const xmlError/' \
    466 -i src/3rdparty/chromium/third_party/blink/renderer/core/xml/xslt_processor.h \
    467 -i src/3rdparty/chromium/third_party/blink/renderer/core/xml/xslt_processor_libxslt.cc</userinput></screen>
    468 
     466-->
     467
     468<!-- In build_fixes-2.patch now
    469469    <para>
    470470      Finally, fix a change in the build system which allows its developers to
     
    472472      build with LFS's use of the NINJAJOBS environment variable:
    473473    </para>
    474 
     474-->
    475475<!-- editors: See thread at
    476476http://lists.linuxfromscratch.org/pipermail/blfs-dev/2019-December/036996.html
    477477et.seq, particularly 037002.html which shows the commit near the end. -->
    478478
    479 <screen><userinput>sed -i 's/NINJAJOBS/NINJA_JOBS/' src/core/gn_run.pro</userinput></screen>
     479<!--<screen><userinput>sed -i 's/NINJAJOBS/NINJA_JOBS/' src/core/gn_run.pro</userinput></screen>-->
    480480
    481481<!-- now that we always install this as 5.15.2, this seems to be redundant
     
    499499    -i src/3rdparty/chromium/third_party/skia/src/utils/SkParseColor.cpp</userinput></screen>-->
    500500
     501<!-- PATH=[...] will cause /opt/python3.11/bin/python3.11 to be hardcoded into
     502     the makefiles instead of whichever python is in /usr/bin -->
    501503    <para>
    502504      Install <application>qtwebengine</application> by running the following
     
    506508<screen><userinput>mkdir build &amp;&amp;
    507509cd    build &amp;&amp;
    508 qmake .. -- -system-ffmpeg -proprietary-codecs -webengine-icu &amp;&amp;
     510PATH=/opt/python3.11/bin:$PATH qmake .. --                  \
     511                                        -system-ffmpeg      \
     512                                        -proprietary-codecs \
     513                                        -webengine-icu      &amp;&amp;
    509514make</userinput></screen>
    510515
     
    554559  <sect2 role="commands">
    555560    <title>Command Explanations</title>
     561
     562    <para>
     563      <command>PATH=/opt/python3.11/bin:$PATH</command>: This switch forces
     564      this package to use the version of Python 3.11 that is installed in /opt.
     565      This is done to reduce the chances for problems that may occur during the
     566      build, and to simplify the instructions since this package is incompatible
     567      with Python 3.12 without additional modifications.
     568      <!-- Ticket #19016 -->
     569    </para>
    556570
    557571    <para>
  • xsoft/graphweb/falkon.xml

    r8a09beb rc0f71f2  
    165165      your home directory.
    166166    </para>
     167
     168    <note>
     169      <para>
     170        If you are on a non-x86_64 architecture and run into problems with
     171        missing text, you may wish to export
     172        <envar>QTWEBENGINE_CHROMIUM_FLAGS="--no-sandbox"</envar> prior to
     173        running Falkon.
     174      </para>
     175    </note>
    167176
    168177  </sect2>
Note: See TracChangeset for help on using the changeset viewer.