This guide uses commands surrounded in square brackets "[]", to indicate commands that are optional. I.e. if you are the superuser you don't need to run the "[sudo]" command. If you are a normal user, just remove the square brackets and type "sudo".
git clone https://git.savannah.gnu.org/git/gnuzilla.git
NOTE: I specifically highlighted the fact it says git here instead of cgit, "cgit" is the default URL for viewing git not cloning it.
For the next stage we will need a couple of packages from emerge:
[sudo] emerge mercurial perl dev-lang/python dev-python/pip
We will now install jsonschema using pip:
pip install jsonschema [--user]
NOTE: If you use the [--user] option, then you should add
$HOME/.local/bin to your path!
If you are using BASH this is pretty easy (bash is the default, so if
you haven't changed it, this is what you are using! Add to the end of
the ~/.bashrc file:
export PATH="$HOME/.local/bin:$PATH"
We will now open cpan:
cpan
You should now see a new blinking cursor that says:
[cpan]>"
From here we will install the latest
/File-Rename/
because the gentoo version is rather
outdated (2022/02/22)!
install /File-Rename/
exit
Now we will check that we have all the correct dependencies!
cd gnuzilla
./makeicecat
This should give you some warnings if anything "makeicecat" needs is missing (you will be installing more dependencies later down the road)
Now that you have ran the above command, we can move to the output folder and create a new objdir folder
cd ./output
mkdir objdir
cd objdir
If you DO NOT have pulseaudio installed you will need media-libs/libpulse because this will give you some sound output (with systemd)! I would recommend you use a full pulseaudio install with the USE="pulseaudio" flag (because it gives a lot more control and a lot of supported devices).
[sudo] emerge media-libs/libpulse
Now we need to install even more dependencies (using cargo). If you DO NOT already have cargo installed you will need rust
[sudo] emerge dev-lang/rust
When you have rust, you can then install via cargo:
cargo install cbindgen
If you have not done so already, you will need to add "~/.cargo/bin"
to your path, this can be done by adding
export PATH="$HOME/.cargo/bin:$PATH"
to your
.bashrc
The next install (the installation of clang, which I seem to remember
took quite a long time, even on my R7 2700x) requires you add a new
value to your USE flag. If you haven't done this before, don't
worry it isn't hard.
First we will open the "/etc/portage/make.conf" file, I will be using
nano, because it is easy for beginners (if you don't have it
installed: [sudo] emerge nano
[sudo] nano /etc/portage/make.conf
Now look for the line that says USE="........"
. Inside
the strings, add a space, and type abi_x86_32
For example, my use variable currently reads:
USE="X nvidia postproc abi_x86_32 pulseaudio openh264
alsa minizip gtk"
Install the clang compiler (and make a couple of cups of tea), due to how long this takes, you may want to combine this command with the next one, so it does it all in one go
[sudo] emerge clang
Now for even more dependencies!
[sudo] emerge net-libs/nodejs app-arch/zip dev-libs/dbus-glib
Double-check you are in the ./gnuzilla/output/objdir directory. If you aren't cd there!
Now for the configuration of icecat
../icecat-(ver-num)/configure.in
--with-l10-base=../icecat-(ver-num)/l10n
--with-libclang-path=/usr/lib/llvm/13/lib64/
Replace (ver-num) with the version you are installing, the original command I wrote was:
./icecat-91.6.0/configure.in --with-l10n-base=../icecat-91.6.0/l10n
--with-libclang-path=/usr/lib/llvm/13/lib64/
NOTE: This may change with future versions due to changes in the llvm directory, if the clang fails, try search your /usr/lib/llvm to see if the number has changed.
Now we'll compile, I have 8 logical processors and 16gb of ram, so
I'll be sticking to make -j8, if you don't know what you have
(it'll take a long time) but you can be safe and simple type
make
.
make -j8
Now for the installation, installation isn't necessary, feel free to use it in this build folder if you really want to!
[sudo] make install
NOTES:
If you want to watch YouTube:
[sudo] emerge media-libs/x264