3.8 KiB
Buildhosts
To get best results from build, it's recommend to install additional packages on build hosts (see searxng.sh).
Build and Development tools
To Install tools used by build and development tasks in once:
SearXNG's development tools
$ sudo -H ./utils/searxng.sh install buildhostThis will install packages needed by SearXNG:
$DOCS_BUILD/includes/searxng.rst
and packages needed to build documentation and run tests:
$DOCS_BUILD/includes/searxng.rst
Build docs
Sphinx build needs
Most of the sphinx requirements are installed from setup.py and the docs can be build from scratch with make docs.html. For better math and image processing additional packages are needed. The XeTeX needed not only for PDF creation, it's also needed for math when HTML output is build.
To be able to do sphinx:math-support without CDNs, the math are rendered as images (sphinx.ext.imgmath extension).
Here is the extract from the docs/conf.py file, setting math renderer to imgmath:
../conf.py
If your docs build (make docs.html) shows warnings like this:
WARNING: dot(1) not found, for better output quality install \
graphviz from https://www.graphviz.org
..
WARNING: LaTeX command 'latex' cannot be run (needed for math \
display), check the imgmath_latex setting
you need to install additional packages on your build host, to get better HTML output (install buildhost <searxng.sh install buildhost>).
Ubuntu / debian
$ sudo apt install graphviz imagemagick texlive-xetex librsvg2-binArch Linux
$ sudo pacman -S graphviz imagemagick texlive-bin extra/librsvgFedora / RHEL
$ sudo dnf install graphviz graphviz-gd ImageMagick texlive-xetex-bin librsvg2-toolsFor PDF output you also need:
Ubuntu / debian
$ sudo apt texlive-latex-recommended texlive-extra-utils ttf-dejavuArch Linux
$ sudo pacman -S texlive-core texlive-latexextra ttf-dejavuFedora / RHEL
$ sudo dnf install \
texlive-collection-fontsrecommended texlive-collection-latex \
dejavu-sans-fonts dejavu-serif-fonts dejavu-sans-mono-fontsLint shell scripts
To lint shell scripts we use ShellCheck - a shell script static analysis tool (install buildhost <searxng.sh install buildhost>).
Ubuntu / debian
$ sudo apt install shellcheckArch Linux
$ sudo pacman -S shellcheckFedora / RHEL
$ sudo dnf install ShellCheck