Changes in xsoft/graphweb/firefox.xml [b4f89635:8d219de]
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
xsoft/graphweb/firefox.xml
rb4f89635 r8d219de 7 7 <!ENTITY firefox-download-http "&mozilla-http;/firefox/releases/&firefox-version;esr/source/firefox-&firefox-version;esr.source.tar.xz"> 8 8 <!ENTITY firefox-download-ftp " "> 9 <!ENTITY firefox-md5sum " ad6ab1bbf36c9e799688eb117ead7926">10 <!ENTITY firefox-size " 364MB">9 <!ENTITY firefox-md5sum "9fe60d1991b9344ebfd80592aff2bfa9"> 10 <!ENTITY firefox-size "457 MB"> 11 11 <!-- NB with stylo, much of the build uses rust, and therefore cargo files. 12 12 But the extra cached cargo files, if any, seem to be minimal --> 13 <!ENTITY firefox-buildsize " 6.7 GB (195MB installed) without tests">13 <!ENTITY firefox-buildsize "7.1 GB (199 MB installed) without tests"> 14 14 <!-- editors: with ff63 and rust-1.29, ./mach build -j4 is probably the 15 15 most practical way to get a timing on a machine with more cores, if taking 16 16 cores offline is not practical. If in doubt, round up --> 17 <!ENTITY firefox-time " 31 SBU (on a typical 4-core machine)without tests">17 <!ENTITY firefox-time "21 SBU using -j4, without tests"> 18 18 ]> 19 19 … … 21 21 <?dbhtml filename="firefox.html" ?> 22 22 23 <sect1info> 24 <date>$Date$</date> 25 </sect1info>26 27 <title>Firefox-&firefox-version; </title>23 24 <!-- indicate this is the ESR variant, 25 The point was that the 102.0 stable release differed slightly. 26 <title>Firefox-&firefox-version;</title>--> 27 <title>Firefox-&firefox-version;esr</title> 28 28 29 29 <indexterm zone="firefox"> … … 39 39 </para> 40 40 41 &lfs11 0a_checked;41 &lfs112_checked; 42 42 43 43 <bridgehead renderas="sect3">Package Information</bridgehead> … … 75 75 </itemizedlist> 76 76 77 77 <!--<bridgehead renderas="sect3">Additional Downloads</bridgehead> 78 78 <itemizedlist spacing="compact"> 79 <listitem> 80 <para> 81 Required patch: 82 <ulink url="&patch-root;/firefox-&firefox-version;esr-gcc12_fix-1.patch"/> 83 </para> 84 </listitem> 79 85 <listitem> 80 86 <para> … … 83 89 </para> 84 90 </listitem> 85 </itemizedlist> 91 </itemizedlist>--> 86 92 87 93 <note> … … 117 123 </para> 118 124 119 <!-- commented, by 78.0 it seems to work reliably120 <para>121 The mach build system (Python scripts) can be somewhat unreliable: if122 the build fails and reports an Error, it can still return a status of123 success, causing a scripted build to try to install (which does not rerun124 the build), fail during the preparations for installing, but still exit125 with a status of success. Also, on occasion it may limit itself to only126 running one set of jobs - that will make the build take about 3 times as127 long as running with four sets of jobs.128 </para>-->129 130 125 <para> 131 126 Although upstream prefer to use <application>PulseAudio</application>, … … 142 137 <xref linkend="cbindgen"/>, 143 138 <xref linkend="dbus-glib"/>, 144 both <xref linkend="gtk3"/> and 145 <xref linkend="gtk2"/>, 139 <xref linkend="gtk3"/>, 146 140 <xref linkend="libnotify"/>, 147 <xref linkend="llvm"/> ( clang, used for bindgen even if using gcc),141 <xref linkend="llvm"/> (with clang, used for bindgen even if using gcc), 148 142 <xref linkend="nodejs"/>, 149 143 <xref linkend="pulseaudio"/> … … 152 146 now deprecated by mozilla), in either case please read the 153 147 Configuration Information, 154 <!-- rustc is required by cbindgen so not needed here155 <xref linkend="rust"/>,-->156 148 <xref linkend="python3"/> (rebuilt after installing <xref linkend="sqlite"/>), 157 149 <xref linkend="startup-notification"/>, … … 184 176 <xref linkend="doxygen"/>, 185 177 <xref role="runtime" linkend="ffmpeg"/> (runtime, to play mov, mp3 or mp4 files), 186 <!-- <phrase revision="sysv"><ulink url="https://sourceforge.net/projects/liboauth/files/">liboauth</ulink></phrase> -->187 178 <xref linkend="liboauth"/>, 188 <xref linkend="openjdk"/>,189 179 <xref linkend="valgrind"/>, 190 180 <xref linkend="wget"/>, … … 223 213 #ac_add_options --with-mozilla-api-keyfile=$PWD/mozilla-key 224 214 225 # Uncomment the following line if you wish to use Google's geolocat on API215 # Uncomment the following line if you wish to use Google's geolocation API 226 216 # (needed for use with saved maps with Google Maps) 227 217 #ac_add_options --with-google-location-service-api-keyfile=$PWD/google-key … … 229 219 # startup-notification is required since firefox-78 230 220 231 # Uncomment the following option if you have not installed PulseAudio 232 #ac_add_options --disable-pulseaudio 233 # or uncomment this if you installed alsa-lib instead of PulseAudio 234 #ac_add_options --enable-alsa 221 # Uncomment the following option if you have not installed PulseAudio and 222 # want to use alsa instead 223 #ac_add_options --enable-audio-backends=alsa 235 224 236 225 # Comment out following options if you have not installed … … 243 232 ac_add_options --with-system-webp 244 233 245 # Do not specify the gold linker which is not the default. It will take 246 # longer and use more disk space when debug symbols are disabled. 234 # Unlike with thunderbird, although using the gold linker can 235 # save four megabytes in the installed file it does not make 236 # the build faster. 247 237 248 238 # libdavid (av1 decoder) requires nasm. Uncomment this if nasm 249 # has not been installed. 239 # has not been installed. Do not uncomment this if you have 240 # ffmpeg-5 installed. 250 241 #ac_add_options --disable-av1 251 242 … … 287 278 ac_add_options --with-system-zlib 288 279 280 # Using sandboxed wasm libraries has been moved to all builds instead 281 # of only mozilla automation builds. It requires extra llvm packages 282 # and was reported to seriously slow the build. Disable it. 283 ac_add_options --without-wasm-sandboxed-libraries 284 289 285 # The following option unsets Telemetry Reporting. With the Addons Fiasco, 290 286 # Mozilla was found to be collecting user's data, including saved passwords and … … 304 300 305 301 <para> 306 First apply a patch which works around unexplained failures on some machines 307 (a message that a python check on libgkrust.a identified 1 networking 308 function, getsockname) in the rust static library. 309 </para> 310 311 <screen><userinput>patch -Np1 -i ../firefox-&firefox-version;esr-disable_rust_test-1.patch</userinput></screen> 312 302 A change in cbindgen-0.24.2 causes a symbol to now be output by 303 cbindgen, but it has already been defined in a header. This sed 304 prevents the build from eventually failing: 305 </para> 306 307 <screen><userinput>sed -i '/ROOT_CLIP_CHAIN/d' gfx/webrender_bindings/webrender_ffi.h</userinput></screen> 308 309 <!-- Not needed with clang. Upstream bug at 310 https://bugzilla.mozilla.org/show_bug.cgi?id=1729459 311 312 <para> 313 If building on a 32 bit machine, the following sed works around 314 an issue with an incompatible <quote>double</quote> type in one 315 header file: 316 </para> 317 318 <screen><userinput>case "$(uname -m)" in 319 i?86) sed -e '/typedef[ ]*double/s/double/long double/' \ 320 -i modules/fdlibm/src/math_private.h ;; 321 esac</userinput></screen> 322 --> 313 323 <para> 314 324 If the geolocation APIs are needed: … … 343 353 344 354 </note> 345 <!-- 346 <para> 347 If you are building on i686, apply a fix to prevent Internal Compiler 348 Errors in GCC-7+: 349 </para> 350 351 <screen><userinput remap="pre">case $(uname -m) in 352 i?86) sed -i "562 s/mips64/i386/" gfx/skia/skia/third_party/skcms/src/Transform_inl.h ;; 353 esac</userinput></screen> 354 --> 355 <!--<para> 356 Apply a patch to allow this to be compiled with <xref linkend="rust"/>: 357 </para> 358 359 <screen><userinput remap="pre">patch -p1 -i ../firefox-&firefox-version;esr-rustc1470-1.patch</userinput></screen>--> 355 356 <para> 357 First remove an obsolete flag in python code, that has been removed 358 in python-3.11: 359 </para> 360 361 <screen><userinput>grep -rl \"rU\" | xargs sed -i 's/"rU"/"r"/'</userinput></screen> 362 363 <para> 364 Then fix an issue with regular expressions in python-3.11: 365 </para> 366 367 <screen><userinput>sed -e 's/?s)\./?s:.)/' \ 368 -e '/?m)/{s/?m)/?m:/;s/\$"/$)"/}' \ 369 -e '/?s)%/{s/?s)/?s:/;s/?"/?)"/}' \ 370 -i xpcom/idl-parser/xpidl/xpidl.py</userinput></screen> 360 371 361 372 <para> … … 363 374 </para> 364 375 365 <screen><userinput>export CC=gcc CXX=g++ && 366 export MACH_USE_SYSTEM_PYTHON=1 && 367 export MOZBUILD_STATE_PATH=${PWD}/mozbuild && 368 ./mach configure && 376 <screen><userinput>export MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE=none && 377 export MOZBUILD_STATE_PATH=${PWD}/mozbuild && 378 ./mach configure && 369 379 ./mach build</userinput></screen> 370 380 … … 384 394 </para> 385 395 386 <screen role="root"><userinput>MACH_ USE_SYSTEM_PYTHON=1./mach install</userinput></screen>396 <screen role="root"><userinput>MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE=none ./mach install</userinput></screen> 387 397 388 398 <para> … … 390 400 </para> 391 401 392 <screen><userinput>unset CC CXX MACH_USE_SYSTEM_PYTHONMOZBUILD_STATE_PATH</userinput></screen>402 <screen><userinput>unset MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE MOZBUILD_STATE_PATH</userinput></screen> 393 403 394 404 </sect2> … … 399 409 <!--<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" 400 410 href="../../xincludes/SIOCGSTAMP.xml"/>--> 401 402 <para>403 <command>export CC=gcc CXX=g++ ...</command>: Upstream now prefer404 <application>clang</application> so that they can use one compiler405 everywhere. On the X86 architectures <application>clang</application>406 now appears to support most of the same security-hardening options as407 <application>GCC</application>.408 <!-- supported in llvm-11409 but the newer410 <literal>-fstack-clash-protection</literal> is still not supported.-->411 With the current versions and the default flags,412 <application>GCC</application> creates a marginally bigger build but413 takes typically 2 SBU less time on a 4-core machine using the mozconfig414 above.415 </para>416 411 417 412 <para> … … 433 428 434 429 <para> 435 <command>MACH_USE_SYSTEM_PYTHON=1</command>: Use the system python 436 to create a virtual environment for <command>mach</command> without 437 downloading any python wheels. 430 <command>MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE=none</command>: Use the 431 system python to create a virtual environment for <command>mach</command> 432 without downloading any python wheels nor using the system python modules. 433 This prevent version mismatches between system modules and bundled ones. 438 434 </para> 439 435 … … 446 442 <option>./mach build --verbose</option>: Use this alternative if you 447 443 need details of which files are being compiled, together with any C or 448 C++ flags being used. But do not add '--verbose' to the install command ,449 it is not accepted there.444 C++ flags being used. But do not add '--verbose' to the install command 445 since it is not accepted there. 450 446 </para> 451 447 … … 456 452 </para> 457 453 458 <!-- 459 <para> 460 <command>mkdir -pv /usr/lib/mozilla/plugins</command>: This ensures 461 that <filename class="directory">/usr/lib/mozilla/plugins/</filename> 462 exists. 463 </para> 464 465 <para> 466 <command>ln -sv ... /usr/lib/firefox/browser</command>: 467 This command creates a symbolic link to <filename 468 class="directory">/usr/lib/mozilla/plugins</filename>. It's not really 469 needed, as <application>Firefox</application> checks <filename 470 class="directory">/usr/lib/mozilla/plugins</filename> by default, but the 471 symbolic link is made to keep all the plugins installed in one folder. 472 </para> 473 --> 454 <para> 455 <option><envar>CC=gcc CXX=g++</envar></option>: BLFS used to 456 prefer to use gcc and g++ instead of upstream's defaults of the 457 <application>clang</application> programs. With the release of 458 gcc-12 the build takes longer with gcc and g++, primarily because 459 of extra warnings, and is bigger. Set these environment variables 460 <emphasis>before you run the configure script</emphasis> 461 if you wish to continue to use gcc, g++. Building 462 with GCC on i?86 is currently broken. 463 </para> 474 464 475 465 </sect2> … … 480 470 <para> 481 471 If you use a desktop environment like <application>Gnome</application> or 482 <application>KDE</application> you may liketo create a472 <application>KDE</application> you may want to create a 483 473 <filename>firefox.desktop</filename> file so that 484 <application>Firefox</application> appears in the panel's menus. <!--If you 485 didn't enable startup-notification in your mozconfig change the 486 StartupNotify line to false.--> As the 487 <systemitem class="username">root</systemitem> user: 474 <application>Firefox</application> appears in the panel's menus. 475 As the &root; user: 488 476 </para> 489 477 … … 491 479 mkdir -pv /usr/share/pixmaps && 492 480 493 MIMETYPE="text/xml;text/mml;text/html "&&494 MIMETYPE ="$MIMETYPE;application/xhtml+xml;application/vnd.mozilla.xul+xml" &&495 MIMETYPE ="$MIMETYPE;x-scheme-handler/http;x-scheme-handler/https"&&481 MIMETYPE="text/xml;text/mml;text/html;" && 482 MIMETYPE+="application/xhtml+xml;application/vnd.mozilla.xul+xml;" && 483 MIMETYPE+="x-scheme-handler/http;x-scheme-handler/https" && 496 484 497 485 cat > /usr/share/applications/firefox.desktop << EOF && … … 532 520 If you enabled <application>Alsa</application> for sound, you may need 533 521 to alter one variable to get working sound. If you run 534 <command>firefox</command> from a term and try to play something with535 sound you might encounter error messages like:522 <command>firefox</command> from a terminal and try to play something 523 with sound you might encounter error messages like: 536 524 </para> 537 525 … … 552 540 might already be started by that DE. But if it is not, although 553 541 firefox-57 managed to start it, firefox-58 did not. If you run 554 <command>firefox</command> from a term and this problem is present,542 <command>firefox</command> from a terminal and this problem is present, 555 543 trying to play sound will 556 544 encounter error messages warning <literal>Can't get cubeb … … 580 568 Although WebRender (using the GPU for compositing) is not used by 581 569 default, it now appears to work well on supported hardware (ATI, Nvidia 582 and Intel GPUs with Mesa-18 or later . For an explanation, please see570 and Intel GPUs with Mesa-18 or later). For an explanation, please see 583 571 <ulink 584 572 url="https://hacks.mozilla.org/2017/10/the-whole-web-at-maximum-fps-how-webrender-gets-rid-of-jank/">hacks.mozilla.org</ulink>. … … 589 577 <para> 590 578 To check if WebRender is being used, look in about:support. In the Graphics 591 section Compositing will either show 'Basic' (i.e. not in use) or579 section, Compositing will either show 'Basic' (i.e. not in use) or 592 580 'WebRender'. To enable it, go to about:config and change gfx.webrender.all 593 581 to True. You will need to restart firefox. … … 623 611 </seg> 624 612 <seg> 625 /usr/lib/firefox and /usr/lib/mozilla 613 /usr/lib/firefox 626 614 </seg> 627 615 </seglistitem> … … 637 625 <listitem> 638 626 <para> 639 640 627 is a <application>GTK+-3</application> internet browser that uses 628 the Mozilla Gecko rendering engine 641 629 </para> 642 630 <indexterm zone="firefox firefox-prog">
Note:
See TracChangeset
for help on using the changeset viewer.