Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • xsoft/other/thunderbird.xml

    r27cc55e9 r11977a8  
    77  <!ENTITY thunderbird-download-http "&mozilla-http;/thunderbird/releases/&thunderbird-version;/source/thunderbird-&thunderbird-version;.source.tar.xz">
    88  <!ENTITY thunderbird-download-ftp  " ">
    9   <!ENTITY thunderbird-md5sum        "cc7b08841a4c417cadb0753db9d1f6a5">
    10   <!ENTITY thunderbird-size          "387 MB">
    11   <!ENTITY thunderbird-buildsize     "6.9 GB (202 MB installed)">
    12   <!ENTITY thunderbird-time          "30 SBU (on a 4-core machine)">
     9  <!ENTITY thunderbird-md5sum        "c6944a9b65b13a3c9c32fef92850ca33">
     10  <!ENTITY thunderbird-size          "486 MB">
     11  <!ENTITY thunderbird-buildsize     "7.4 GB (202 MB installed)">
     12  <!ENTITY thunderbird-time          "24 SBU (on a 4-core machine)">
    1313  <!-- Removed the -j1 time because python and rust do not obey it, although
    14        the C/C++ code appears to obey it -->
     14       the C/C++ code appears to obey it.
     15
     16       Version 102.3.3: I disabled all but 4 cores.  SBU was 20 (2019 seconds)
     17       -->
    1518]>
    1619
     
    1821  <?dbhtml filename="thunderbird.html" ?>
    1922
    20   <sect1info>
    21     <date>$Date$</date>
    22   </sect1info>
    2323
    2424  <title>Thunderbird-&thunderbird-version;</title>
     
    3737    </para>
    3838
    39     &lfs110a_checked;
     39    &lfs112_checked;
    4040
    4141    <bridgehead renderas="sect3">Package Information</bridgehead>
     
    7373    </itemizedlist>
    7474
    75 <!-- keeping this for next patch :)
    76     <bridgehead renderas="sect3">Additional Downloads</bridgehead>
     75<!--<bridgehead renderas="sect3">Additional Downloads</bridgehead>
    7776    <itemizedlist spacing="compact">
    7877      <listitem>
    7978        <para>
    8079          Required patch:
    81           <ulink url="&patch-root;/thunderbird-&thunderbird-version;-glibc234-1.patch"/>
    82         </para>
    83       </listitem>
    84     </itemizedlist>
    85 -->
     80          <ulink url="&patch-root;/thunderbird-&thunderbird-version;-gcc12_fix-1.patch"/>
     81        </para>
     82      </listitem>
     83    </itemizedlist>-->
     84
    8685    <bridgehead renderas="sect3">Thunderbird Dependencies</bridgehead>
    8786
    8887    <bridgehead renderas="sect4">Required</bridgehead>
    8988    <para role="required">
    90 <!--      <xref linkend="alsa-lib"/>, no mention in log -->
    9189      <xref linkend="autoconf213"/>,
    9290      <xref linkend="cbindgen"/>,
     
    9492      both <xref linkend="gtk3"/>
    9593      and <xref linkend="gtk2"/>,
    96       <xref linkend="llvm"/> including clang, <!-- Searched for and used a few times -->
     94      <xref linkend="llvm"/> including clang, <!-- used by default if found -->
    9795      <xref linkend="nodejs"/>,
    9896      <xref linkend="pulseaudio"/> (or <xref linkend="alsa-lib"/> if you edit
     
    109107      <xref linkend="icu"/>,
    110108      <xref linkend="libevent"/>,
    111 <!-- Fails to build with version 1.8.0
    112       <xref linkend="libvpx"/>,-->
     109      <xref linkend="libvpx"/>,
    113110      <xref linkend="nasm"/>,
    114111      <xref linkend="nspr"/>, and
     
    128125    <bridgehead renderas="sect4">Optional</bridgehead>
    129126    <para role="optional">
    130       <!-- <xref linkend="curl"/>, not in build log-->
    131127      <xref linkend="cyrus-sasl"/>,
    132128      <xref linkend="doxygen"/>,
    133129      <xref linkend="GConf"/>,
    134       <!--<xref linkend="gst10-plugins-base"/> (with
    135       <xref linkend="gst10-plugins-good"/> and
    136       <xref linkend="gst10-libav"/> at runtime),-->
    137       <!-- <xref linkend="openjdk"/>, not in build log -->
    138       <!--<xref linkend="pulseaudio"/>,-->
    139130      <xref linkend="wget"/>,
    140131      <xref linkend="wireless_tools"/>, and
     
    174165
    175166# Uncomment the following option if you have not installed PulseAudio
    176 #ac_add_options --disable-pulseaudio
    177 # and uncomment this if you installed alsa-lib instead of PulseAudio
    178 #ac_add_options --enable-alsa
    179 <!-- always built in versions 78+. The option is a noop
    180 # If you want to compile the Mozilla Calendar, uncomment this line:
    181 #ac_add_options - -enable-calendar
    182 -->
     167#ac_add_options --enable-audio-backends=alsa
     168
    183169# Comment out following options if you have not installed
    184170# recommended dependencies:
    185171ac_add_options --with-system-libevent
     172ac_add_options --with-system-libvpx
    186173ac_add_options --with-system-nspr
    187174ac_add_options --with-system-nss
     
    215202ac_add_options --with-system-jpeg
    216203ac_add_options --with-system-png
    217 ac_add_options --with-system-zlib</literal>
     204ac_add_options --with-system-zlib
     205
     206# Using sandboxed wasm libraries has been moved to all builds instead
     207# of only mozilla automation builds. It requires extra llvm packages
     208# and was reported to seriously slow the build. Disable it.
     209ac_add_options --without-wasm-sandboxed-libraries</literal>
    218210EOF</userinput></screen>
    219 <!--
    220     <para>
    221       Apply a patch which allows compilation on systems running glibc-2.34:
    222     </para>
    223 
    224 <screen><userinput remap="pre">patch -p1 -i ../thunderbird-&thunderbird-version;-glibc234-1.patch</userinput></screen>
     211
     212    <para>
     213      A change in cbindgen-0.24.2 causes a symbol to now be output by
     214      cbindgen, but it has already been defined in a header. This sed
     215      prevents the build from eventually failing:
     216    </para>
     217
     218<screen><userinput>sed -i '/ROOT_CLIP_CHAIN/d' gfx/webrender_bindings/webrender_ffi.h</userinput></screen>
     219
     220<!-- Not needed with clang
     221     https://bugzilla.mozilla.org/show_bug.cgi?id=1729459
     222    <para>
     223      If building on a 32 bit machine, the following sed works around
     224      an issue with an incompatible <quote>double</quote> type in one
     225      header file:
     226    </para>
     227
     228<screen><userinput>case "$(uname -m)" in
     229    i?86) sed -e '/typedef[ ]*double/s/double/long double/' \
     230              -i modules/fdlibm/src/math_private.h ;;
     231esac</userinput></screen>
    225232-->
    226233    <para>
     
    238245    </note>
    239246
    240 <screen><userinput>export CC=gcc CXX=g++ &amp;&amp;
    241 export MACH_USE_SYSTEM_PYTHON=1 &amp;&amp;
    242 ./mach create-mach-environment &amp;&amp;
    243 ./mach configure      &amp;&amp;
     247    <para>
     248      First remove an obsolete flag in python code, that has been removed
     249      in python-3.11:
     250    </para>
     251
     252<screen><userinput>grep -rl \"rU\" | xargs sed -i 's/"rU"/"r"/'</userinput></screen>
     253
     254    <para>
     255      Then fix an issue with regular expressions in python-3.11:
     256    </para>
     257
     258<screen><userinput>sed -e 's/?s)\./?s:.)/'               \
     259    -e '/?m)/{s/?m)/?m:/;s/\$"/$)"/}' \
     260    -e '/?s)%/{s/?s)/?s:/;s/?"/?)"/}' \
     261    -i xpcom/idl-parser/xpidl/xpidl.py</userinput></screen>
     262
     263     <para>
     264       Now invoke the Python <command>mach</command> script to compile the
     265       package.
     266     </para>
     267
     268<screen><userinput>export MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE=none &amp;&amp;
     269export MOZBUILD_STATE_PATH=./mozbuild               &amp;&amp;
     270./mach configure                                    &amp;&amp;
    244271./mach build</userinput></screen>
    245272
     
    253280    </para>
    254281
    255 <screen role="root"><userinput>MACH_USE_SYSTEM_PYTHON=1 ./mach install</userinput></screen>
     282<screen role="root"><userinput>MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE=none ./mach install</userinput></screen>
    256283<!-- devs: For DESTDIR install, prepend DESTDIR=<dest> to the above -->
    257284    <para>
     
    259286    </para>
    260287
    261 <screen><userinput>unset CC CXX MACH_USE_SYSTEM_PYTHON</userinput></screen>
     288<screen><userinput>unset MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE MOZBUILD_STATE_PATH</userinput></screen>
    262289
    263290  </sect2>
     
    265292  <sect2 role="commands">
    266293    <title>Command Explanations</title>
    267 <!-- might be necessary, we need to verify this.
    268     <para>
    269       <command>test $(uname -m) = "i686" &amp;&amp; sed ...</command>: On this
    270       version of thunderbird, an old bug has reappeared in 32-bit builds.  With
    271       optimization, the install fails with a Python error.  This command will
    272       fix i686 builds and preserve the optimization on x86_64.
    273     </para>-->
    274 
    275     <para>
    276       <command>CC=gcc CXX=g++ ./mach configure</command>:
    277       <application>Thunderbird</application>
    278       now uses this <application>python3</application> script to run the
    279       configuration,
    280       build and install. Forcing GCC causes the build to come out smaller
    281       and run faster.
    282       <!-- For more info, see Ticket #13969. ~12GB to ~5GB build size,
    283       significantly smaller build time.-->
    284     </para>
    285 
    286     <para>
    287       <command>MACH_USE_SYSTEM_PYTHON=1</command>: Use the system python
    288       to create a virtual environment for <command>mach</command> without
    289       downloading any python wheels.
     294
     295    <para>
     296      <command>MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE=none</command>: Use the
     297      system python to create a virtual environment for <command>mach</command>
     298      without downloading any python wheels nor using the system python modules.
     299      This prevent version mismatches between system modules and bundled ones.
     300    </para>
     301
     302    <para>
     303      <command>./mach configure</command>: This validates the supplied
     304      dependencies and the <filename>mozconfig</filename>.
    290305    </para>
    291306
     
    294309      need details of which files are being compiled, together with any C or
    295310      C++ flags being used.
     311    </para>
     312
     313    <para>
     314      <option>./mach build -jN</option>: The build should, by default, use
     315      all the online CPU cores. If using all the cores causes the build to swap
     316      because you have insufficient memory, using fewer cores can be faster.
     317    </para>
     318
     319    <para>
     320      <option><envar>CC=gcc CXX=g++</envar></option>: BLFS used to
     321      prefer to use gcc and g++ instead of upstream's defaults of the
     322      <application>clang</application> programs. With the release of
     323      gcc-12 the build takes longer with gcc and g++, primarily because
     324      of extra warnings, and is bigger. Set these environment variables
     325      <emphasis>before you run the configure script</emphasis>
     326      if you wish to continue to use gcc, g++. Building
     327      with GCC on i?86 is currently broken.
    296328    </para>
    297329
     
    393425        </seg>
    394426        <seg>
    395           libldap60.so, libldif60.so, liblgpllibs.so, libmozgtk.so,
    396           libmozsandbox.so, libmozsqlite3.so, libmozwayland.so,
    397           libprldap60.so, librnp.so, and libxul.so, all in the
    398           /usr/lib/thunderbird directory
     427          Numerous libraries and modules in the /usr/lib/thunderbird directory
    399428        </seg>
    400429        <seg>
Note: See TracChangeset for help on using the changeset viewer.