Firefox 60.0.1esr compiled for Easy Pyro
Major changes, firefox now needs 'rust' to compile, and requires gtk3.
Firstly, rust. Thus is a systems programming language, that the Mozilla
team are helping to develop. Installation instructions are given at
Linux From Scratch:
http://www.linuxfromscratch.org/blfs/view/8.2/general/rust.html
Noticed afterward, more up-to-date instructions:
http://www.linuxfromscratch.org/blfs/view/cvs/general/rust.html
Which I followed, installing rust 1.26.0:
https://www.rust-lang.org/en-US/other-installers.html#source
Specifically:
https://static.rust-lang.org/dist/rustc-1.26.0-src.tar.gz
Then, followed the LFS guidelines to compiled firefox:
http://www.linuxfromscratch.org/blfs/view/cvs/xsoft/firefox.html
Note, there is a new script for compiling firefox:
# ./mach build --verbose
# ./mach install --verbose
Afterward, I started to create PETs for rust and firefox, then realised the rust installation is about 1.1GB (expanded). Hmmm.
It looks like "the kitchen sink included" installation of rust. I
wondered how much of that is needed to compile firefox. I then found
another installation method, see here:
https://rustup.rs/
...it installs to /root/.rustup and /root/.cargo/bin, and after
executing "export PATH="/root/.cargo/bin:${PATH}", you are good to go.
It is 795MB, still very big.
Note, the first method compiled everything, took ages, the second method just downloaded pre-compiled binaries.
I created the rust PET from the first method (370.1MB):
http://distro.ibiblio.org/easyos/amd64/packages/pet/pet_packages-pyro/rustc-1.26.0-pyro64.pet
Here is firefox (56.4MB):
http://distro.ibiblio.org/easyos/amd64/packages/pet/pet_packages-pyro/firefox-60.0.1-pyro64.pet
...all deps are already in Easy Pyro. Rust is only needed for compiling. For developers, here is my 'mozconfig' file:
#mk_add_options MOZ_MAKE_FLAGS='-j1'
ac_add_options --enable-application=browser
ac_add_options --enable-optimize="-O2" ac_add_options --enable-system-hunspell ac_add_options --prefix=/usr ac_add_options --host=x86_64-pc-linux-gnu ac_add_options --disable-dbus ac_add_options --disable-accessibility ac_add_options --with-system-bz2 ac_add_options --disable-updater ac_add_options --disable-parental-controls ac_add_options --disable-system-sqlite ac_add_options --disable-system-cairo ac_add_options --enable-strip ac_add_options --with-system-jpeg ac_add_options --without-system-png ac_add_options --with-system-zlib ac_add_options --disable-tests ac_add_options --disable-crashreporter ac_add_options --with-system-libvpx ac_add_options --disable-necko-wifi #ac_add_options --disable-gconf ac_add_options --without-system-nspr ac_add_options --without-system-nss #ac_add_options --enable-ldap ac_add_options --without-system-icu ac_add_options --disable-pulseaudio ac_add_options --enable-alsa ac_add_options --enable-system-ffi ac_add_options --with-pthreads ac_add_options --enable-system-pixman ac_add_options --disable-debug ac_add_options --without-system-libevent ac_add_options --disable-stylo #ac_add_options --with-system-graphite2 #ac_add_options --with-system-harfbuzz ac_add_options --disable-nfc ac_add_options --enable-ffmpeg
...some of the system libraries I had to disable, as they are too old. Some disabled for other reasons.
EDIT 29 May 2018:
I have converted 'rustc' into an SFS file. Running Easy, click the
"sfsget" icon at top of screen, and the available SFS files will be
offered to download. It is 333MB.
That's the easy way. The manual way is to download it directly, then
place it in the /mnt/wkg/repository/easy-0.9.3 folder, then run Easy
Boot Manager in the Filesystem menu. Here it is:
http://distro.ibiblio.org/easyos/amd64/packages/sfs/pyro/rustc-1.26.0-pyro64_0.9.3.sfs
Tags: easy