mirror of
https://github.com/Zeckmathederg/glfs.git
synced 2025-01-24 23:32:12 +08:00
Firefox-67.0
git-svn-id: svn://svn.linuxfromscratch.org/BLFS/trunk/BOOK@21615 af4574ff-66df-0310-9fd7-8a98e5e911e0
This commit is contained in:
parent
77deb22e0e
commit
e399c12f51
@ -41,8 +41,21 @@
|
||||
</itemizedlist>
|
||||
</listitem>
|
||||
-->
|
||||
<!-- The next person that does a commit that applies to both revisions
|
||||
of the book needs to correct this -->
|
||||
<listitem>
|
||||
<para>May 21st, 2019</para>
|
||||
<itemizedlist>
|
||||
<listitem>
|
||||
<para>[ken] - Firefox-67.0 (includes security fixes). Use gcc in
|
||||
preference to LLVM, disable debug symbols, and stop using the gold
|
||||
linker. The result is a much smaller build. Please note that both nasm
|
||||
and yasm are now used. Fixes <ulink
|
||||
url="&blfs-ticket-root;12082">#12082</ulink>. Please be aware that you
|
||||
may need to create a new profile when running this version, and
|
||||
reapply your customizations, extensions, and perhaps bookmarks.</para>
|
||||
</listitem>
|
||||
</itemizedlist>
|
||||
</listitem>
|
||||
|
||||
<listitem revision="systemd">
|
||||
<para>May 20th, 2019</para>
|
||||
<itemizedlist>
|
||||
|
@ -866,7 +866,7 @@ to avoid building libxml2 twice, which is slow with all deps -->
|
||||
<!--<!ENTITY chromium-version "64.0.3282.186">-->
|
||||
<!ENTITY epiphany-version "3.30.3">
|
||||
<!ENTITY falkon-version "3.0.1">
|
||||
<!ENTITY firefox-version "66.0.5">
|
||||
<!ENTITY firefox-version "67.0">
|
||||
<!ENTITY flashplayer-version "27.0.0.187">
|
||||
<!ENTITY qupzilla-version "2.2.6">
|
||||
<!ENTITY seamonkey-version "2.49.4">
|
||||
|
@ -6,15 +6,15 @@
|
||||
|
||||
<!ENTITY firefox-download-http "&mozilla-http;/firefox/releases/&firefox-version;/source/firefox-&firefox-version;.source.tar.xz">
|
||||
<!ENTITY firefox-download-ftp " ">
|
||||
<!ENTITY firefox-md5sum "a3d00fb4e950558135f08a5155745d4e">
|
||||
<!ENTITY firefox-size "269 MB">
|
||||
<!ENTITY firefox-md5sum "41a5d504deaed12ebf0e25bb1420f08">
|
||||
<!ENTITY firefox-size "270 MB">
|
||||
<!-- NB with stylo, much of the build uses rust, and therefore cargo files.
|
||||
But the extra cached cargo files, if any, seem to be minimal -->
|
||||
<!ENTITY firefox-buildsize "11.8 GB (156 MB installed) without tests">
|
||||
<!ENTITY firefox-buildsize "3.8 GB (154 MB installed) without tests">
|
||||
<!-- editors: with ff63 and rust-1.29, ./mach build -j4 is probably the
|
||||
most practical way to get a timing on a machine with more cores, if taking
|
||||
cores offline is not practical. If in doubt, round up -->
|
||||
<!ENTITY firefox-time "25 SBU (with parallelism=4) without tests">
|
||||
<!ENTITY firefox-time "28 SBU (with parallelism=4) without tests">
|
||||
]>
|
||||
|
||||
<sect1 id="firefox" xreflabel="Firefox-&firefox-version;">
|
||||
@ -138,7 +138,6 @@ tar: Exiting with failure status due to previous errors
|
||||
<para role="required">
|
||||
<xref linkend="autoconf213"/>,
|
||||
<xref linkend="cbindgen"/>,
|
||||
<application>Clang</application> (from <xref linkend="llvm"/>),
|
||||
both <xref linkend="gtk3"/> and
|
||||
<xref linkend="gtk2"/>,
|
||||
<xref linkend="libnotify"/>,
|
||||
@ -161,7 +160,8 @@ tar: Exiting with failure status due to previous errors
|
||||
<xref linkend="libevent"/>,
|
||||
<!-- fails to build in 65.0 (headers changed)
|
||||
<xref linkend="libvpx"/>, -->
|
||||
<xref linkend="libwebp"/>, and
|
||||
<xref linkend="libwebp"/>,
|
||||
<xref linkend="nasm"/>, and
|
||||
<xref linkend="sqlite"/>
|
||||
</para>
|
||||
|
||||
@ -256,15 +256,12 @@ ac_add_options --with-system-nspr
|
||||
ac_add_options --with-system-nss
|
||||
ac_add_options --with-system-icu
|
||||
|
||||
# The gold linker is no-longer the default
|
||||
ac_add_options --enable-linker=gold
|
||||
# Do not specify the gold linker which is not the default. It will take
|
||||
# longer and use more disk space when debug symbols are disabled.
|
||||
|
||||
# The shipped libdavid (av1 decoder) is not built by default,
|
||||
# at least on linux, but if nasm is not present libxul tries to
|
||||
# link to one of libdavid's objects and fails. It is thought
|
||||
# libdavid will be enabled in firefox-67, at which point nasm
|
||||
# might be required.
|
||||
ac_add_options --disable-av1
|
||||
# libdavid (av1 decoder) requires nasm. Uncomment this if nasm
|
||||
# has not been installed.
|
||||
#ac_add_options --disable-av1
|
||||
|
||||
# You cannot distribute the binary if you do this
|
||||
ac_add_options --enable-official-branding
|
||||
@ -279,6 +276,10 @@ ac_add_options --enable-official-branding
|
||||
#ac_add_options --disable-strip
|
||||
#ac_add_options --disable-install-strip
|
||||
|
||||
# Disabling debug symbols makes the build much smaller and a little
|
||||
# faster. Comment this if you need to run a debugger.
|
||||
ac_add_options --disable-debug-symbols
|
||||
|
||||
# The BLFS editors recommend not changing anything below this line:
|
||||
ac_add_options --prefix=/usr
|
||||
ac_add_options --enable-application=browser
|
||||
@ -289,8 +290,7 @@ ac_add_options --disable-updater
|
||||
# increase the build time, for no obvious benefit.
|
||||
ac_add_options --disable-tests
|
||||
|
||||
# With clang, unlike gcc-7 and later, the default level
|
||||
# of optimization produces a working build.
|
||||
# The default level of optimization again produces a working build with gcc.
|
||||
ac_add_options --enable-optimize
|
||||
|
||||
# From firefox-61 system cairo is not supported
|
||||
@ -361,15 +361,18 @@ echo "d2284a20-0505-4927-a809-7ffaf4d91e55" > mozilla-key</userinput></screen>
|
||||
</para></note>
|
||||
|
||||
<para>
|
||||
<!-- Invoke the Python script to compile the package: -->
|
||||
To use the system version of ICU, run a sed to avoid a conflict between
|
||||
If you are still using ICU-63, run a sed to avoid a conflict between
|
||||
upstream ICU's use of <literal>CheckImpl()</literal> in their public headers
|
||||
and firefox's internal use of a different <literal>CheckImpl()</literal>.
|
||||
Then invoke the Python2 script to compile the package.
|
||||
</para>
|
||||
|
||||
<screen><userinput>sed -e 's/checkImpl/checkFFImpl/g' -i js/src/vm/JSContext*.h &&
|
||||
export CC=clang CXX=clang++ AR=llvm-ar NM=llvm-nm RANLIB=llvm-ranlib &&
|
||||
<screen role="nodump"><userinput>sed -e 's/checkImpl/checkFFImpl/g' -i js/src/vm/JSContext*.h</userinput></screen>
|
||||
|
||||
<para>
|
||||
Invoke the Python2 script to compile the package.
|
||||
</para>
|
||||
|
||||
<screen><userinput>export CC=gcc CXX=g++ &&
|
||||
export MOZBUILD_STATE_PATH=${PWD}/mozbuild &&
|
||||
./mach build</userinput></screen>
|
||||
|
||||
@ -397,7 +400,7 @@ ln -sfv ../../mozilla/plugins /usr/lib/firefox/browser/</userinput></screen>
|
||||
Set environment variables back to their values:
|
||||
</para>
|
||||
|
||||
<screen><userinput>unset CC CXX AR NM RANLIB MOZBUILD_STATE_PATH</userinput></screen>
|
||||
<screen><userinput>unset CC CXX MOZBUILD_STATE_PATH</userinput></screen>
|
||||
|
||||
</sect2>
|
||||
|
||||
@ -406,18 +409,17 @@ ln -sfv ../../mozilla/plugins /usr/lib/firefox/browser/</userinput></screen>
|
||||
|
||||
<para>
|
||||
<command>sed -e 's/checkImpl/checkFFImpl/g' ...</command>: Although the
|
||||
package ships with a modified version of <application>ICU-59</application>
|
||||
and only tests that the system version, if requested, is at least 59,
|
||||
changes in <emphasis>some</emphasis> versions cause builds with the system
|
||||
version to fail with error messages of the form <literal>no void
|
||||
JSContext::checkImpl_NN member function</literal> where NN is the system
|
||||
<application>ICU</application> version. The sed renames the local function.
|
||||
package ships with a modified version of <application>ICU-63</application>
|
||||
and only tests that the system version, if used, is at least 63, changes
|
||||
from upstream 63 cause builds with the system version to fail with an error
|
||||
message <literal>no void JSContext::checkImpl_63 member function</literal>.
|
||||
The sed renames the local function. Upstream ICU-64 works around this.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
<command>export CC=clang CXX=clang++ ...</command>: Upstream now use
|
||||
<application>clang</application> and building with any recent version
|
||||
saves a lot of space.
|
||||
<command>export CC=gcc CXX=g++ ...</command>: Upstream now prefer
|
||||
<application>clang</application>, but gcc is a more secure compiler and
|
||||
now produces reasonably-sized builds.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
@ -453,7 +455,7 @@ ln -sfv ../../mozilla/plugins /usr/lib/firefox/browser/</userinput></screen>
|
||||
all the online CPU cores. There are two reasons to specify the number
|
||||
of cores, e.g. -j4 for 4 cores: First, if using all the cores causes
|
||||
the build to swap because you have insufficient memory (e.g. for 4 cores
|
||||
a build without system graphite2 and harfbuzz now uses slightly over 8GB
|
||||
a build without system graphite2 and harfbuzz now uses towards 8GB
|
||||
of RAM). In such cases, using fewer cores can be faster. Second, on some
|
||||
machines the middle part of the build can drag on as if only one core is
|
||||
present. In those cases, specifying the number of cores may speed up the
|
||||
@ -475,6 +477,12 @@ ln -sfv ../../mozilla/plugins /usr/lib/firefox/browser/</userinput></screen>
|
||||
symbolic link is made to keep all the plugins installed in one folder.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
<option>export CC=clang CXX=clang++ AR=llvm-ar NM=llvm-nm RANLIB=llvm-ranlib</option>:
|
||||
Use this as an alternative to building with gcc and g++ if you wish to use
|
||||
the clang toolchain. Remember to unset these variables after the build.
|
||||
</para>
|
||||
|
||||
</sect2>
|
||||
|
||||
<sect2 role="configuration">
|
||||
|
Loading…
Reference in New Issue
Block a user