LibreOffice is a powerful office suite; its clean interface
and powerful tools let you unleash your creativity and grow your
productivity. LibreOffice embeds several applications that make it the
most powerful Free & Open Source Office suite on the market: Writer,
the word processor, Calc, the spreadsheet application, Impress, the
presentation engine, Draw, our drawing and flowcharting application,
Base, our database and database frontend, and Math for editing
mathematics.

This SlackBuild builds the entire project from its source code. In
seeking a fully functional LibreOffice, most optional features are
included by default, using internal versions of any external software
components that may be needed.  This results in a very small number of
directly required additional software packages.

However most of this additional software is also available as SBo
SlackBuilds.  During configuration, the LibreOffice SlackBuild will
detect any such packages that are already installed and use them in
preference to building its own internal versions. Packages from SBo
that will be use in this way are:
    CoinMP cppunit glm libabw libcdr libcmis libe-book libeot
    libepubgen libexttextcat libfreehand  libmspub libmwaw
    libnumbertext liborcus libpagemaker libqxp libnumbertext
    libstaroffice libtommath libwps libzmf lpsolve mythes postgresql
    qt5 valgrind ucpp unixODBC avahi libetonyek xmlsec

Remember, these packages are not essential but entirely optional. If
not found, LibreOffice will simply build its own internal versions.

Also keep in mind that any package from the above list which is
detected and used when building LibreOffice will most likely become
a runtime dependency too e.g. if avahi is detected and used at build
time, it will also need to be installed at run time.

Build time environment variables that may be set to vary features are
as follows:
1. support additional languages by overriding the LOLANGS variable,
   whose default setting is LOLANGS="de es fr id it ja nl vi zh-CN".
   Note that en-US is always added to whatever LOLANGS is set. Thus
   building with, for example,
       LOLANGS="de" sh LibreOffice.SlackBuild
   would build LibreOffice with support for german and US english
   languages. Additionally, setting LOLANGS="ALL" will build in
   support for all available languages.

2. A number of Java Development Kits are suitable for building
   LibreOffice. Since Slackware-15.0 and LiberOffice-7.3.1.3, the
   default JDK is zulu-openjdk11.  Other JDKs will probably work if
   the JAVA_HOME environment variable is set appropriately in a file
   in /etc/profile.d/, where this SlackBuild will search.

   It is also possible to build LibreOffice without any Java support
   (with somewhat reduced capability in LO Base) by running:
       JAVA=no sh LibreOffice.SlackBuild

3. The number of parallel make jobs used by the LibreOffice build
   system defaults to the number of available cpu cores. If the
   MAKEFLAGS environment variable contains the -j option e.g.
       MAKEFLAGS=-j6
   then the SlackBuild will pass this to the LibreOffice build system
   (via its --with-parallelism configure option). The number of parallel
   jobs is further controlled by the PARALLEL environment variable e.g:
       PARALLEL=1 sh LibreOffice.SlackBuild
   which would limit building to a single make process, overriding any
   value set with the -j option in MAKEFLAGS.

4. Use of ccache during building is turned off by default to save disk
   space (and possible build failure due to lack of disk space). It may
   be reinstated by setting the USE_CCACHE environment to "yes" e.g.
       USE_CCACHE=yes sh LibreOffice.SlackBuild

5. PyUNO is a Python interface to the LibreOffice API. It is disabled by
   default due to interference with Openshot (therefore possibly other
   packages). It may be enabled by setting the PYUNO environment
   variable e.g.
       PYUNO=yes sh LibreOffice.SlackBuild

   Even without PyUNO enabled in this way, PyUNO scripts may still be
   executed by suitably extending the PYTHONPATH in the environment at
   runtime e.g.
       PYTHONPATH=/usr/lib64/libreoffice/program my_python_uno_script.py


Spell checking of documents at runtime requires installation of a
suitable wordlist for the language concerned. This can be achieved in
either of two ways:
1. Build & install hunspell-en (or hunspell-es, hunspell-pl) from SBo
2. Search for the desired language dictionary at:
http://extensions.libreoffice.org/extension-center?getCategories=Dictionary
and download the relevant file e.g. dict-en.oxt. Now open LO's
extension manager and press the "Add..." button which will open a file
browser with which to locate and open the downloaded .oxt file. The
new dictionary will now appear in the Extension Manager.

Some people have experienced difficulties building LibreOffice while a
previous version is still installed. It is therefore recommended that
any previous version should be removed before building LibreOffice. As
well as removing any LibreOffice installation, it is important to also
clear environment variables that were set by the installation i.e.
       /sbin/removepkg LibreOffice
       unset UNO_PATH
       unset URE_BOOTSTRAP

Good luck!
