You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

4500 lines
174 KiB

# This package depends on automagic byte compilation
%global _python_bytecompile_extra 1
# download path contains version without the last (fourth) digit
%global libo_version 6.4.7
# Should contain .alphaX / .betaX, if this is pre-release (actually
# pre-RC) version. The pre-release string is part of tarball file names,
# so we need a way to define it easily at one place.
%global libo_prerelease %{nil}
# Should contain any suffix of release tarball name, e.g., -buildfix1.
%global libo_buildfix %{nil}
# rhbz#715152 state vendor
%if 0%{?rhel}
%global vendoroption --with-vendor="Red Hat, Inc."
%if 0%{?fedora}
%global vendoroption --with-vendor="The Fedora Project"
%global libo_python python3
%global libo_python_executable %{__python3}
%global libo_python_sitearch %{python3_sitearch}
# rhbz#465664 jar-repacking breaks help by reordering META-INF/MANIFEST.MF
%global __jar_repack %{nil}
# make it easier to download sources from pre-release site
%if 0%{?prerelease}
%global source_url
%global source_url{libo_version}
# URL for external projects' tarballs
%global external_url
%global girapiversion 0.1
# get english only and no-langpacks for a faster smoketest build
# fedpkg compile/install/local/mockbuild does not handle --without ATM,
# so it is necessary to change this to bcond_with to achieve the same
# effect
%bcond_without langpacks
# remove workdir at the end of %%build, to allow build on space-constrained machines
%ifarch s390 s390x
%bcond_without smallbuild
%bcond_with smallbuild
# generated by %%langpack definitions
%global langpack_langs %{nil}
%global bundling_options %{nil}
Summary: Free Software Productivity Suite
Name: libreoffice
Epoch: 1
Version: %{libo_version}.2
Release: 13%{?libo_prerelease}%{?dist}
License: (MPLv1.1 or LGPLv3+) and LGPLv3 and LGPLv2+ and BSD and (MPLv1.1 or GPLv2 or LGPLv2 or Netscape) and Public Domain and ASL 2.0 and MPLv2.0 and CC0
Source0: %{source_url}/libreoffice-%{version}%{?libo_prerelease}%{?libo_buildfix}.tar.xz
Source1: %{source_url}/libreoffice-%{version}%{?libo_prerelease}%{?libo_buildfix}.tar.xz.asc
Source2: %{source_url}/libreoffice-help-%{version}%{?libo_prerelease}%{?libo_buildfix}.tar.xz
Source3: %{source_url}/libreoffice-help-%{version}%{?libo_prerelease}%{?libo_buildfix}.tar.xz.asc
Source4: %{source_url}/libreoffice-translations-%{version}%{?libo_prerelease}%{?libo_buildfix}.tar.xz
Source5: %{source_url}/libreoffice-translations-%{version}%{?libo_prerelease}%{?libo_buildfix}.tar.xz.asc
Source6: gpgkey-C2839ECAD9408FBE9531C3E9F434A1EFAFEEAEA3.gpg.asc
Source9: %{external_url}/
%if 0%{?fedora}
Source10: %{external_url}/
Source11: %{external_url}/
#Unfortunately later versions of hsqldb changed the file format, so if we use a later version we loose
#backwards compatability.
Source12: %{external_url}/
Source13: %{external_url}/884ed41809687c3e168fc7c19b16585149ff058eca79acbf3ee784f6630704cc-opens___.ttf
%global bundling_options %{?bundling_options} --without-system-hsqldb
Provides: bundled(hsqldb) = 1.8.0
%if 0%{?fedora}
Provides: bundled(rhino) = 1.5
Provides: bundled(xsltml) = 2.1.2
# symbolic icons
# build tools
BuildRequires: autoconf
BuildRequires: automake
BuildRequires: bc
BuildRequires: binutils
BuildRequires: bison
BuildRequires: desktop-file-utils
BuildRequires: doxygen
BuildRequires: findutils
BuildRequires: flex
BuildRequires: gcc-c++
BuildRequires: gdb
BuildRequires: gettext
BuildRequires: git
BuildRequires: gnupg2
BuildRequires: gperf
BuildRequires: icu
BuildRequires: libtool-ltdl-devel
BuildRequires: make
BuildRequires: mariadb-connector-c-devel
BuildRequires: perl(Digest::MD5)
%if 0%{?fedora}
BuildRequires: glibc-all-langpacks
BuildRequires: libappstream-glib
BuildRequires: ucpp
BuildRequires: zip
# libs / headers - common
BuildRequires: %{libo_python}-devel
BuildRequires: boost-devel
BuildRequires: cups-devel
BuildRequires: fontpackages-devel
BuildRequires: glm-devel
BuildRequires: hyphen-devel
BuildRequires: libjpeg-turbo-devel
BuildRequires: lpsolve-devel
BuildRequires: openldap-devel
BuildRequires: pam-devel
BuildRequires: pkgconfig(bluez)
BuildRequires: pkgconfig(dbus-glib-1)
BuildRequires: pkgconfig(dconf)
BuildRequires: pkgconfig(epoxy)
BuildRequires: pkgconfig(evolution-data-server-1.2)
BuildRequires: pkgconfig(expat)
BuildRequires: pkgconfig(freetype2)
BuildRequires: pkgconfig(gobject-introspection-1.0)
BuildRequires: pkgconfig(gstreamer-1.0)
BuildRequires: pkgconfig(gstreamer-plugins-base-1.0)
BuildRequires: pkgconfig(gtk+-3.0)
BuildRequires: pkgconfig(hunspell)
BuildRequires: pkgconfig(ice)
BuildRequires: pkgconfig(icu-i18n)
BuildRequires: pkgconfig(lcms2)
BuildRequires: pkgconfig(libabw-0.1)
BuildRequires: pkgconfig(libcdr-0.1)
BuildRequires: pkgconfig(libclucene-core)
BuildRequires: pkgconfig(libcmis-0.5)
BuildRequires: pkgconfig(libcurl)
BuildRequires: pkgconfig(libetonyek-0.1)
BuildRequires: pkgconfig(libexttextcat)
BuildRequires: pkgconfig(libfreehand-0.1)
BuildRequires: pkgconfig(libidn)
BuildRequires: pkgconfig(liblangtag)
BuildRequires: pkgconfig(libmspub-0.1)
BuildRequires: pkgconfig(libmwaw-0.3)
BuildRequires: pkgconfig(libodfgen-0.1)
BuildRequires: pkgconfig(libpagemaker-0.0)
BuildRequires: pkgconfig(libpq)
BuildRequires: pkgconfig(librevenge-0.0)
BuildRequires: pkgconfig(libstaroffice-0.0)
BuildRequires: pkgconfig(libvisio-0.1)
BuildRequires: pkgconfig(libwpd-0.10)
BuildRequires: pkgconfig(libwpg-0.3)
BuildRequires: pkgconfig(libwps-0.4)
BuildRequires: pkgconfig(libxml-2.0)
BuildRequires: pkgconfig(libxslt)
BuildRequires: pkgconfig(libzmf-0.0)
BuildRequires: pkgconfig(mythes)
BuildRequires: pkgconfig(neon)
BuildRequires: pkgconfig(nss)
BuildRequires: pkgconfig(poppler)
BuildRequires: pkgconfig(poppler-cpp)
BuildRequires: pkgconfig(redland)
BuildRequires: pkgconfig(sane-backends)
BuildRequires: pkgconfig(xext)
BuildRequires: pkgconfig(xinerama)
BuildRequires: pkgconfig(xmlsec1-nss)
BuildRequires: pkgconfig(xt)
BuildRequires: pkgconfig(zlib)
BuildRequires: unixODBC-devel
BuildRequires: %{libo_python_executable}
# libs / headers - conditional
%if 0%{?fedora}
BuildRequires: pkgconfig(libe-book-0.1)
BuildRequires: qt5-qtbase-devel
BuildRequires: qt5-qtx11extras-devel
BuildRequires: kf5-kconfig-devel
BuildRequires: kf5-kcoreaddons-devel
BuildRequires: kf5-kdelibs4support-devel
BuildRequires: kf5-ki18n-devel
BuildRequires: kf5-kio-devel
BuildRequires: kf5-kwindowsystem-devel
BuildRequires: gpgmepp-devel
BuildRequires: pkgconfig(cppunit) >= 1.14.0
BuildRequires: pkgconfig(graphite2)
BuildRequires: pkgconfig(harfbuzz)
BuildRequires: pkgconfig(libeot)
BuildRequires: pkgconfig(libepubgen-0.1)
BuildRequires: pkgconfig(libqxp-0.0)
BuildRequires: pkgconfig(liborcus-0.15)
BuildRequires: pkgconfig(mdds-1.5)
BuildRequires: libnumbertext-devel
# java stuff
BuildRequires: ant
%if 0%{?fedora}
BuildRequires: bsh
BuildRequires: java-devel
BuildRequires: junit
BuildRequires: pentaho-reporting-flow-engine
# fonts needed for tests
BuildRequires: dejavu-sans-fonts
BuildRequires: google-crosextra-carlito-fonts
BuildRequires: liberation-mono-fonts
BuildRequires: liberation-sans-fonts
BuildRequires: liberation-serif-fonts
Requires: %{name}-writer%{?_isa} = %{epoch}:%{version}-%{release}
Requires: %{name}-calc%{?_isa} = %{epoch}:%{version}-%{release}
Requires: %{name}-impress%{?_isa} = %{epoch}:%{version}-%{release}
Requires: %{name}-draw%{?_isa} = %{epoch}:%{version}-%{release}
Requires: %{name}-math%{?_isa} = %{epoch}:%{version}-%{release}
Requires: %{name}-base%{?_isa} = %{epoch}:%{version}-%{release}
Requires: %{name}-emailmerge%{?_isa} = %{epoch}:%{version}-%{release}
# not upstreamed: upstream wants an automatic restart after a crash; we
# want a nice abrt report
Patch0: 0001-don-t-suppress-crashes.patch
# disable tip-of-the-day dialog by default
Patch1: 0001-disble-tip-of-the-day-dialog-by-default.patch
# rhbz#1736810 disable opencl by default again
Patch2: 0001-Resolves-rhbz-1432468-disable-opencl-by-default.patch
# backported
Patch3: 0001-replace-boost-bimap-in-sdext-pdfimport.patch
Patch4: 0001-fix-detecting-qrcodegen.patch
Patch5: 0001-Flatpak-Add-app-bin-libreoffice-app-libreoffice-prog.patch
Patch7: 0001-Related-tdf-127782-resize-the-print-dialog-to-its-op.patch
Patch8: 0001-rhbz-1870501-crash-on-reexport-of-odg.patch
Patch9: 0001-export-HYPERLINK-target-in-html-clipboard-export.patch
Patch10: 0001-use-gdk_wayland_window_set_application_id-when-it-be.patch
Patch11: 0001-tdf-137209-unparent-widgets-in-fragment-dtor.patch
Patch12: 0001-rhbz-1891326-suggest-package-install-of-the-most-app.patch
Patch13: 0001-0.5.1-is-sufficient.patch
Patch14: 0001-munge-cmis-headers-to-remove-exception-specs.patch
Patch15: 0001-1.2.25-is-sufficient.patch
Patch16: 0001-replace-Palatino-Linotype-with-Liberation-Serif.patch
Patch17: 0001-Revert-tdf-69060-lock-refreshing-font-data-when-load.patch
Patch18: 0001-Resolves-rhbz-1893846-if-last-close-had-insert-index.patch
Patch19: 0002-resource-leak.patch
Patch20: 0003-copy_paste_error-data1-looks-like-a-copy-paste-error.patch
Patch21: 0004-Fix-use-of-uninitialized-SwFEShell-bTableCopied.patch
Patch22: 0005-cid-1460969-Uninitialized-scalar-field.patch
Patch23: 0006-tdf-137897-scRetypePassInputDlg-re-allow-password-re.patch
Patch24: 0007-tdf-137982-m_xFrame-is-already-disposed.patch
Patch25: 0008-Resolves-tdf-137215-restore-original-modality-before.patch
Patch26: 0001-rhbz-1882616-move-cursor-one-step-at-a-time-in-the-d.patch
Patch27: 0001-rhbz-1980800-allow-convert-to-csv-to-write-each-shee.patch
Patch28: 0001-Resolves-tdf-132739-two-style-tags-where-there-shoul.patch
Patch29: 0001-backports-to-ease-CVE-backporting.patch
Patch30: 0002-CVE-2021-25635.patch
Patch31: 0003-xmlsecurity-replace-XSecParser-implementation.patch
Patch32: 0004-CVE-2021-25634.patch
Patch33: 0005-CVE-2021-25633.patch
Patch34: 0006-xmlsecurity-replace-OOXMLSecParser-implementation.patch
Patch35: 0001-Correctly-read-PNG-into-bitmaps-N32BitTcA.-formats-w.patch
Patch36: 0001-Read-MOSDocumentLockFile-UTF-16-string-data-with-sam.patch
Patch37: 0001-Convert-attribute-value-to-UTF-8-when-passing-it-to-.patch
Patch38: 0001-Fix-endianness-issues-in-OOX-crypto-routines.patch
Patch39: 0001-CVE-2021-25636.patch
Patch40: 0001-CVE-2022-26305-compare-authors-using-Thumbprint.patch
Patch41: 0002-CVE-2022-26307-make-hash-encoding-match-decoding.patch
Patch42: 0003-CVE-2022-26306-add-Initialization-Vectors-to-passwor.patch
Patch43: 0004-CVE-2022-2630-6-7-add-infobar-to-prompt-to-refresh-t.patch
Patch44: 0001-CVE-2022-3140.patch
%if 0%{?rhel}
# not upstreamed
Patch500: 0001-disable-libe-book-support.patch
%global instdir %{_libdir}
%global baseinstdir %{instdir}/libreoffice
%global sdkinstdir %{baseinstdir}/sdk
%global datadir %{_datadir}/%{name}
%global fontname opensymbol
# HACK: Get the data dir for -data subpackage. I haven't found any better
# way to do this...
%global oldname %{name}
%global name %{name}-data
%global lodatadocdir %{_pkgdocdir}
%global name %{oldname}
%if 0%{?__isa_bits} == 64
%global mark64 ()(64bit)
LibreOffice is an Open Source, community-developed, office productivity suite.
It includes the key desktop applications, such as a word processor,
spreadsheet, presentation manager, formula editor and drawing program, with a
user interface and feature set similar to other office suites. Sophisticated
and flexible, LibreOffice also works transparently with a variety of file
formats, including Microsoft Office File Formats.
%package filters
Summary: All import / export filters
Requires: %{name}-core%{?_isa} = %{epoch}:%{version}-%{release}
Requires: %{name}-ure%{?_isa} = %{epoch}:%{version}-%{release}
Requires: %{name}-calc%{?_isa} = %{epoch}:%{version}-%{release}
Requires: %{name}-graphicfilter%{?_isa} = %{epoch}:%{version}-%{release}
Requires: %{name}-impress%{?_isa} = %{epoch}:%{version}-%{release}
Requires: %{name}-writer%{?_isa} = %{epoch}:%{version}-%{release}
Requires: %{name}-xsltfilter%{?_isa} = %{epoch}:%{version}-%{release}
%description filters
Metapackage to pull in all subpackages that contain import or export
%package core
Summary: Core modules for LibreOffice
Requires: %{name}-%{fontname}-fonts = %{epoch}:%{version}-%{release}
Requires: %{name}-ure%{?_isa} = %{epoch}:%{version}-%{release}
Requires: %{name}-data = %{epoch}:%{version}-%{release}
%ifnarch s390 s390x aarch64
Requires: %{name}-plugin%{?_isa} = %{epoch}:%{version}-%{release}
Requires: liberation-sans-fonts, liberation-serif-fonts, liberation-mono-fonts
Requires: dejavu-sans-fonts, dejavu-serif-fonts, dejavu-sans-mono-fonts
Requires: google-crosextra-caladea-fonts, google-crosextra-carlito-fonts
Requires: %{name}-langpack-en = %{epoch}:%{version}-%{release}
# rhbz#949106 libreoffice-core drags in both openjdk 1.7.0 and 1.8.0
Requires: java-headless >= 1:1.6
Obsoletes: libreoffice-headless < 1:
Obsoletes: libreoffice-math-debuginfo < 1:
Provides: libreoffice-headless = %{epoch}:%{version}-%{release}
Provides: libreoffice-headless%{?_isa} = %{epoch}:%{version}-%{release}
%if 0%{?rhel}
Obsoletes: libreoffice-bsh < 1:
Obsoletes: libreoffice-rhino < 1:
%description core
The shared core libraries and support files for LibreOffice.
%package pyuno
Summary: Python support for LibreOffice
Requires: %{name}-core%{?_isa} = %{epoch}:%{version}-%{release}
Requires: %{name}-ure%{?_isa} = %{epoch}:%{version}-%{release}
Requires: %{libo_python_executable}
%description pyuno
Python bindings for the LibreOffice UNO component model. Allows scripts both
external to LibreOffice and within the internal LibreOffice scripting framework
to be written in python.
%package base
Summary: Database front-end for LibreOffice
Requires: pentaho-reporting-flow-engine
Requires: postgresql-jdbc
Requires: %{name}-core%{?_isa} = %{epoch}:%{version}-%{release}
Requires: %{name}-calc%{?_isa} = %{epoch}:%{version}-%{release}
Requires: %{name}-data = %{epoch}:%{version}-%{release}
Requires: %{name}-pyuno%{?_isa} = %{epoch}:%{version}-%{release}
Requires: %{name}-ure%{?_isa} = %{epoch}:%{version}-%{release}
%description base
GUI database front-end for LibreOffice. Allows creation and management of
databases through a GUI.
%if 0%{?fedora}
%package bsh
Summary: BeanShell support for LibreOffice
Requires: bsh
Requires: %{name}-core%{?_isa} = %{epoch}:%{version}-%{release}
%description bsh
Support BeanShell scripts in LibreOffice.
%package rhino
Summary: JavaScript support for LibreOffice
Requires: %{name}-core%{?_isa} = %{epoch}:%{version}-%{release}
%description rhino
Support JavaScript scripts in LibreOffice.
%package officebean
Summary: JavaBean for LibreOffice Components
Requires: %{name}-core%{?_isa} = %{epoch}:%{version}-%{release}
Requires: %{name}-officebean-common = %{epoch}:%{version}-%{release}
%description officebean
Allows embedding of LibreOffice documents within the Java environment. It
provides a Java AWT window into which the backend LibreOffice process draws
its visual representation
%package officebean-common
Summary: Common JavaBean for LibreOffice Components
Requires: %{name}-data = %{epoch}:%{version}-%{release}
BuildArch: noarch
%description officebean-common
Arch-independent part of %{name}-officebean.
%package wiki-publisher
Summary: Create Wiki articles on MediaWiki servers with LibreOffice
Requires: %{name}-writer%{?_isa} = %{epoch}:%{version}-%{release}
Requires: %{name}-core%{?_isa} = %{epoch}:%{version}-%{release}
Requires: %{name}-ure%{?_isa} = %{epoch}:%{version}-%{release}
%description wiki-publisher
The Wiki Publisher enables you to create Wiki articles on MediaWiki servers
without having to know the syntax of the MediaWiki markup language. Publish
your new and existing documents transparently with writer to a wiki page.
%package nlpsolver
Summary: Non-linear solver engine for LibreOffice Calc
Requires: %{name}-core%{?_isa} = %{epoch}:%{version}-%{release}
Requires: %{name}-calc%{?_isa} = %{epoch}:%{version}-%{release}
Requires: %{name}-ure%{?_isa} = %{epoch}:%{version}-%{release}
%description nlpsolver
A non-linear solver engine for Calc as an alternative to the default linear
programming model when more complex, nonlinear programming is required.
%package ogltrans
Summary: 3D OpenGL slide transitions for LibreOffice
Requires: %{name}-core%{?_isa} = %{epoch}:%{version}-%{release}
Requires: %{name}-ure%{?_isa} = %{epoch}:%{version}-%{release}
%description ogltrans
OpenGL Transitions enable 3D slide transitions to be used in LibreOffice.
Requires good quality 3D support for your graphics card for best experience.
%package pdfimport
Summary: PDF Importer for LibreOffice Draw
Requires: %{name}-core%{?_isa} = %{epoch}:%{version}-%{release}
Requires: %{name}-ure%{?_isa} = %{epoch}:%{version}-%{release}
%description pdfimport
The PDF Importer imports PDF into drawing documents to preserve layout
and enable basic editing of PDF documents.
%package %{fontname}-fonts
Summary: LibreOffice dingbats font
Requires: fontpackages-filesystem
BuildArch: noarch
%description %{fontname}-fonts
A dingbats font, OpenSymbol, suitable for use by LibreOffice for bullets and
mathematical symbols.
%package writer
Summary: LibreOffice Word Processor Application
Requires: %{name}-core%{?_isa} = %{epoch}:%{version}-%{release}
Requires: %{name}-data = %{epoch}:%{version}-%{release}
Requires: %{name}-pdfimport%{?_isa} = %{epoch}:%{version}-%{release}
Requires: %{name}-pyuno%{?_isa} = %{epoch}:%{version}-%{release}
Requires: %{name}-ure%{?_isa} = %{epoch}:%{version}-%{release}
%description writer
The LibreOffice Word Processor application.
%package emailmerge
Summary: Email mail-merge component for LibreOffice
Requires: %{name}-writer%{?_isa} = %{epoch}:%{version}-%{release}
Requires: %{name}-pyuno%{?_isa} = %{epoch}:%{version}-%{release}
%description emailmerge
Enables the LibreOffice writer module to mail-merge to email.
%package calc
Summary: LibreOffice Spreadsheet Application
Requires: %{name}-core%{?_isa} = %{epoch}:%{version}-%{release}
Requires: %{name}-data = %{epoch}:%{version}-%{release}
Requires: %{name}-pdfimport%{?_isa} = %{epoch}:%{version}-%{release}
Requires: %{name}-pyuno%{?_isa} = %{epoch}:%{version}-%{release}
Requires: %{name}-ure%{?_isa} = %{epoch}:%{version}-%{release}
%description calc
The LibreOffice Spreadsheet application.
%package draw
Summary: LibreOffice Drawing Application
Requires: %{name}-core%{?_isa} = %{epoch}:%{version}-%{release}
Requires: %{name}-data = %{epoch}:%{version}-%{release}
Requires: %{name}-pdfimport%{?_isa} = %{epoch}:%{version}-%{release}
Requires: %{name}-pyuno%{?_isa} = %{epoch}:%{version}-%{release}
Requires: %{name}-graphicfilter%{?_isa} = %{epoch}:%{version}-%{release}
Requires: %{name}-ure%{?_isa} = %{epoch}:%{version}-%{release}
%description draw
The LibreOffice Drawing Application.
%package impress
Summary: LibreOffice Presentation Application
Requires: %{name}-core%{?_isa} = %{epoch}:%{version}-%{release}
Requires: %{name}-data = %{epoch}:%{version}-%{release}
Requires: %{name}-ogltrans%{?_isa} = %{epoch}:%{version}-%{release}
Requires: %{name}-pdfimport%{?_isa} = %{epoch}:%{version}-%{release}
Requires: %{name}-pyuno%{?_isa} = %{epoch}:%{version}-%{release}
Requires: %{name}-graphicfilter%{?_isa} = %{epoch}:%{version}-%{release}
Requires: %{name}-ure%{?_isa} = %{epoch}:%{version}-%{release}
%description impress
The LibreOffice Presentation Application.
%package math
Summary: LibreOffice Equation Editor Application
Requires: %{name}-core%{?_isa} = %{epoch}:%{version}-%{release}
Requires: %{name}-pdfimport%{?_isa} = %{epoch}:%{version}-%{release}
Requires: %{name}-pyuno%{?_isa} = %{epoch}:%{version}-%{release}
Requires: %{name}-ure%{?_isa} = %{epoch}:%{version}-%{release}
%description math
The LibreOffice Equation Editor Application.
%package graphicfilter
Summary: LibreOffice Extra Graphic filters
Requires: %{name}-core%{?_isa} = %{epoch}:%{version}-%{release}
Requires: %{name}-data = %{epoch}:%{version}-%{release}
Requires: %{name}-ure%{?_isa} = %{epoch}:%{version}-%{release}
%description graphicfilter
The graphicfilter module for LibreOffice provides graphic filters, e.g. svg and
flash filters.
%package xsltfilter
Summary: Optional xsltfilter module for LibreOffice
Requires: %{name}-core%{?_isa} = %{epoch}:%{version}-%{release}
%description xsltfilter
The xsltfilter module for LibreOffice, provides additional docbook and
xhtml export transforms. Install this to enable docbook export.
%package postgresql
Summary: PostgreSQL connector for LibreOffice
Requires: %{name}-base%{?_isa} = %{epoch}:%{version}-%{release}
Requires: %{name}-core%{?_isa} = %{epoch}:%{version}-%{release}
Requires: %{name}-ure%{?_isa} = %{epoch}:%{version}-%{release}
%description postgresql
A PostgreSQL connector for the database front-end for LibreOffice. Allows
creation and management of PostgreSQL databases through a GUI.
%package ure
Summary: UNO Runtime Environment
#rhbz#1164551 we want to ensure that a of this arch is available
Requires: %{name}-ure-common = %{epoch}:%{version}-%{release}
Requires: unzip%{?_isa},{?mark64}
%description ure
UNO is the component model of LibreOffice. UNO offers interoperability between
programming languages, other components models and hardware architectures,
either in process or over process boundaries, in the Intranet as well as in the
Internet. UNO components may be implemented in and accessed from any
programming language for which a UNO implementation (AKA language binding) and
an appropriate bridge or adapter exists
%package ure-common
Summary: Common UNO Runtime Environment
BuildArch: noarch
%description ure-common
Arch-independent part of %{name}-ure.
%package sdk
Summary: Software Development Kit for LibreOffice
Requires: %{name}-core%{?_isa} = %{epoch}:%{version}-%{release}
Requires: %{name}-ure%{?_isa} = %{epoch}:%{version}-%{release}
Requires: unzip%{?_isa}, java-devel
%description sdk
The LibreOffice SDK is an add-on for the LibreOffice office suite. It provides
the necessary tools for programming using the LibreOffice APIs and for creating
extensions (UNO components) for LibreOffice. To set the build environment for
building against the sdk use %{sdkinstdir}/
%package sdk-doc
Summary: Software Development Kit documentation for LibreOffice
%description sdk-doc
This provides documentation for programming using the LibreOffice APIs
and examples of creating extensions (UNO components) for LibreOffice.
%package glade
Summary: Support for creating LibreOffice dialogs in glade
Requires: %{name}-core%{?_isa} = %{epoch}:%{version}-%{release}
Requires: %{name}-ure%{?_isa} = %{epoch}:%{version}-%{release}
%description glade
%{name}-glade contains a catalog of LibreOffice-specific widgets for
glade and ui-previewer tool to check the visual appearance of dialogs.
%package librelogo
Summary: LibreLogo scripting language
Requires: %{name}-writer%{?_isa} = %{epoch}:%{version}-%{release}
Requires: %{name}-pyuno%{?_isa} = %{epoch}:%{version}-%{release}
%description librelogo
Enables LibreLogo scripting in Writer. LibreLogo is a Logo-like
programming language with interactive vectorgraphics for education and
%package data
Summary: LibreOffice data files
BuildArch: noarch
%description data
%{name}-data contains platform-independent data files.
%package x11
Summary: LibreOffice generic X11 support plug-in
Requires: %{name}-core%{?_isa} = %{epoch}:%{version}-%{release}
Requires: %{name}-ure%{?_isa} = %{epoch}:%{version}-%{release}
Provides: %{name}-plugin = %{epoch}:%{version}-%{release}
Provides: %{name}-plugin%{?_isa} = %{epoch}:%{version}-%{release}
Supplements: (%{name}-core%{?_isa} and Xserver)
%description x11
A plug-in for LibreOffice that enables generic X11 support.
%package gtk3
Summary: LibreOffice GTK+ 3 integration plug-in
Requires: %{name}-core%{?_isa} = %{epoch}:%{version}-%{release}
Requires: %{name}-ure%{?_isa} = %{epoch}:%{version}-%{release}
Requires: gstreamer1(element-gtksink)%{?mark64}
Obsoletes: libreoffice-gtk2 < 1:
Obsoletes: libreoffice-gtk2-debuginfo < 1:
Supplements: (%{name}-core%{?_isa} and gtk3%{?_isa})
%description gtk3
A plug-in for LibreOffice that enables integration into GTK+ 3 environment.
%if 0%{?fedora}
%package kde5
Summary: LibreOffice KDE5 integration plug-in
Requires: %{name}-core%{?_isa} = %{epoch}:%{version}-%{release}
Requires: %{name}-ure%{?_isa} = %{epoch}:%{version}-%{release}
Provides: %{name}-plugin = %{epoch}:%{version}-%{release}
Provides: %{name}-plugin%{?_isa} = %{epoch}:%{version}-%{release}
Obsoletes: libreoffice-kde4 < 1:
%description kde5
A plug-in for LibreOffice that enables integration into the KDE5 desktop environment.
%package kf5
Summary: LibreOffice KDE Frameworks 5 integration plug-in
Requires: %{name}-core%{?_isa} = %{epoch}:%{version}-%{release}
Requires: %{name}-ure%{?_isa} = %{epoch}:%{version}-%{release}
Provides: %{name}-plugin = %{epoch}:%{version}-%{release}
Provides: %{name}-plugin%{?_isa} = %{epoch}:%{version}-%{release}
#Supplements: (libreoffice-core and plasma-workspace)
%description kf5
A plug-in for LibreOffice that enables integration into the KDE Frameworks 5.
%package -n libreofficekit
Summary: A library providing access to LibreOffice functionality
License: MPLv2.0
%description -n libreofficekit
LibreOfficeKit can be used to access LibreOffice functionality
through C/C++, without any need to use UNO.
For now it only offers document conversion (in addition to an
experimental tiled rendering API).
%package -n libreofficekit-devel
Summary: Development files for libreofficekit
Requires: libreofficekit%{?_isa} = %{epoch}:%{version}-%{release}
License: MPLv2.0
%description -n libreofficekit-devel
The libreofficekit-devel package contains libraries and header files for
developing applications that use libreofficekit.
%if 0%{?_enable_debug_packages}
%package gdb-debug-support
Summary: Additional support for debugging with gdb
Requires: gdb%{?_isa}
Requires: %{libo_python}-six
Requires: libreoffice-core%{?_isa} = %{epoch}:%{version}-%{release}
Supplements: libreoffice-debuginfo%{?_isa}
%description gdb-debug-support
This package provides gdb pretty printers for package %{name}.
%files gdb-debug-support
%define _langpack_common(Eg:j:l:) \
%{!-E: \
%{baseinstdir}/program/resource/%{-g:%{-g*}}%{!-g:%{-l*}}/LC_MESSAGES/*.mo \
%{baseinstdir}/share/registry/res/registry_%{-l*}.xcd \
} \
%{baseinstdir}/share/template/%{-l*} \
%{baseinstdir}/share/registry/Langpack-%{-l*}.xcd \
%{baseinstdir}/share/registry/res/fcfg_langpack_%{-l*}.xcd \
%{baseinstdir}/share/wizards/resources_%{-j:%{-j*}}%{!-j:%{-l*}}.properties \
# Defines a language pack subpackage.
# It's necessary to define language code (-l) and language name (-n).
# Additionally, it's possible
# * to require autocorr, hunspell, hyphen or mythes package or font for
# given language,
# * to provide libreoffice-langpack-loc package, where loc is glibc
# locale--this is necessary for yum to pick it automatically,
# * to require other, unrelated, packages,
# * to specify file serving as file list.
# For these, lower case character argument takes an argument specifying
# language, upper case character argument uses language from -l.
# All remaining arguments are considered to be files and added to the file
# list.
# Aa: autocorr dependency
# c: additional config file (just the name stem)
# E: base (US English) langpack
# Ff: font language dependency
# g: glibc/java locale
# Hh: hunspell dependency
# i: additional language added to this package
# j: java locale for the additional language
# k: glibc locale for the additional language
# L: internal (LibreOffice) language code, used in file names
# l: language code, e.g., cs
# Mm: mythes dependency
# n: language name, e.g., Czech
# p: Provides: of libreoffice-langpack
# r: comma-separated list of additional requires
# S:s: script classification (cjk, ctl). -S is only a marker, as it does
# not add any .xcd into the package (the file does not exist for at
# least one CTL-using locale, si)
# T has help files
# Xx: has autotext definitions
# Yy: hyphen dependency
# Example:
# libreoffice-langpack-cs: langpack for Czech lang. requiring hyphen-cs,
# autocorr-cs, mythes-cs-CZ and suitable font:
# %%langpack -l cs -n Czech -H -A -m cs-CZ
# b de q tu z BCD G IJK N PQR U Z0123456789
%define langpack(Aa:c:EFf:g:Hh:i:j:k:L:l:Mm:n:p:r:S:s:TXx:Yy:) \
%define lang %{-l:%{-l*}}%{!-l:%{error:Language code not defined}} \
%define _langpack_lang %{-L:%{-L*}}%{!-L:%{lang}} \
%define pkgname langpack-%{lang} \
%define langname %{-n:%{-n*}}%{!-n:%{error:Language name not defined}} \
%global langpack_langs %{langpack_langs} %{_langpack_lang} %{-i:%{-i*}} \
%package %{pkgname} \
Summary: %{langname} language pack for LibreOffice \
Requires: %{name}-core%{?_isa} = %{epoch}:%{version}-%{release} \
%{-a:Requires: autocorr-%{-a*}}%{!-a:%{-A:Requires: autocorr-%{lang}}} \
%if 0%{?rhel} && 0%{?rhel} < 9 \
%{-f:Requires: font(:lang=%{-f*})}%{!-f:%{-F:Requires: font(:lang=%{lang})}} \
%else \
%{-f:Recommends: langpacks-%{-f*}}%{!-f:%{-F:Recommends: langpacks-%{lang}}} \
%endif \
%{-h:Requires: hunspell-%{-h*}}%{!-h:%{-H:Requires: hunspell-%{lang}}} \
%{-m:Requires: mythes-%{-m*}}%{!-m:%{-M:Requires: mythes-%{lang}}} \
%{-y:Requires: hyphen-%{-y*}}%{!-y:%{-Y:Requires: hyphen-%{lang}}} \
%{-r:Requires: %{-r*}} \
%{-p:Provides: %{name}-langpack-%{-p*} = %{epoch}:%{version}-%{release}} \
%{-p:Provides: %{name}-langpack-%{-p*}%{?_isa} = %{epoch}:%{version}-%{release}} \
%{-p:Supplements: (%{name}-core%{?_isa} and langpacks-%{-p*})} \
%{!-p:Supplements: (%{name}-core%{?_isa} and langpacks-%{lang})} \
%if 0%{?rhel} \
%{-T:Requires: %{name}-help-%{lang}} \
%else \
%{-T:Recommends: %{name}-help-%{lang}} \
%endif \
%description %{pkgname} \
Provides additional %{langname} translations and resources for LibreOffice. \
%{-T: \
%package help-%{lang} \
Summary: %{langname} help for LibreOffice \
Requires: %{name}-core%{?_isa} = %{epoch}:%{version}-%{release} \
%description help-%{lang} \
Provides %{langname} help for LibreOffice. \
%files help-%{lang} \
%docdir %{baseinstdir}/help/%{_langpack_lang} \
%{baseinstdir}/help/%{_langpack_lang} \
} \
%files %{pkgname} \
%{expand:%%_langpack_common %{-E} -l %{_langpack_lang} %{-g:-g %{-g*} -j %{-g*}}} \
%{-x:%{baseinstdir}/share/autotext/%{-x*}}%{!-x:%{-X:%{baseinstdir}/share/autotext/%{_langpack_lang}}} \
%{-c:%{baseinstdir}/share/registry/%{-c*}.xcd} \
%{-s:%{baseinstdir}/share/registry/%{-s*}_%{_langpack_lang}.xcd} \
%{-i:%{expand:%%_langpack_common %{-E} -l %{-i*} %{-k:-g %{-k*}} %{-j:-j %{-j*}}}} \
# Defines an auto-correction subpackage.
# i: add autocorrections from additional language
# l: language code
# n: language name
# L the filename does not contain country code
# All remaining arguments are considered to be files and added to the file
# list.
%define autocorr(i:Ll:n:) \
%define lang %{-l:%{-l*}}%{!-l:%{error:Language code not defined}} \
%define pkgname autocorr-%{lang} \
%define langname %{-n:%{-n*}}%{!-n:%{error:Language name not defined}} \
%package -n %{pkgname} \
Summary: %{langname} auto-correction rules \
BuildArch: noarch \
%description -n %{pkgname} \
Rules for auto-correcting common %{langname} typing errors. \
%files -n %{pkgname} \
%doc instdir/LICENSE \
%dir %{_datadir}/autocorr \
%{-L:%{_datadir}/autocorr/acor_%{lang}.dat} \
%{!-L:%{_datadir}/autocorr/acor_%{lang}-*.dat} \
%langpack -l en -n English -F -h en-US -Y -M -A -E -L en-US -T -X -g en_US
%if %{with langpacks}
%langpack -l af -n Afrikaans -F -H -Y -A -X
%langpack -l ar -n Arabic -F -H -s ctl -T -X
%langpack -l as -n Assamese -F -H -Y -X
%langpack -l bg -n Bulgarian -F -H -Y -M -A -T -X
%langpack -l bn -n Bengali -F -H -Y -T -X
%langpack -l br -n Breton -F -H -X
%langpack -l ca -n Catalan -F -H -Y -M -A -T -X
%langpack -l cs -n Czech -F -H -Y -M -A -T -X
%langpack -l cy -n Welsh -F -H -Y -X
%langpack -l da -n Danish -F -H -Y -M -A -T -X
%langpack -l de -n German -F -H -Y -M -A -T -X
%langpack -l dz -n Dzongkha -F -s ctl -T -X
%langpack -l el -n Greek -F -H -Y -M -T -X
%langpack -l es -n Spanish -F -H -Y -M -A -T -X
%langpack -l et -n Estonian -F -H -Y -T -X
%langpack -l eu -n Basque -F -H -Y -T -X
%langpack -l fa -n Farsi -A -H -Y -s ctl -X
%langpack -l fi -n Finnish -F -r libreoffice-voikko -A -T -X
%langpack -l fr -n French -F -H -Y -M -A -T -X
%langpack -l ga -n Irish -F -H -Y -M -A -X
%langpack -l gl -n Galician -F -H -Y -T -X
%langpack -l gu -n Gujarati -F -H -Y -s ctl -T -X
%langpack -l he -n Hebrew -F -H -s ctl -T -X
%langpack -l hi -n Hindi -F -H -Y -s ctl -T -X
%langpack -l hr -n Croatian -F -H -Y -A -T -X
%langpack -l hu -n Hungarian -F -H -Y -M -A -T -X
%langpack -l id -n Indonesian -F -H -Y -T -X
%langpack -l it -n Italian -F -H -Y -M -A -T -X
%langpack -l ja -n Japanese -F -A -s cjk -T -X
%langpack -l kk -n Kazakh -F -H -X
%langpack -l kn -n Kannada -F -H -Y -X
%langpack -l ko -n Korean -F -H -A -s cjk -T -X
%langpack -l lt -n Lithuanian -F -H -Y -A -T -X
%langpack -l lv -n Latvian -F -H -Y -M -T -X
%langpack -l mai -n Maithili -F -X
%langpack -l ml -n Malayalam -F -H -Y -X
%langpack -l mr -n Marathi -F -H -Y -X
%langpack -l nb -n Bokmal -F -H -Y -M -T -X
%langpack -l nl -n Dutch -F -H -Y -M -A -T -X -X
%langpack -l nn -n Nynorsk -F -H -Y -M -T
%define langpack_lang Southern Ndebele
%langpack -l nr -n %{langpack_lang} -F -H -X
%define langpack_lang Northern Sotho
%langpack -l nso -n %{langpack_lang} -F -H -X
%langpack -l or -n Odia -F -H -Y -s ctl -X
%langpack -l pa -n Punjabi -F -H -Y -s ctl -L pa-IN -g pa_IN -X
%langpack -l pl -n Polish -F -H -Y -M -A -T -X
%define langpack_lang Brazilian Portuguese
%langpack -l pt-BR -n %{langpack_lang} -f pt -h pt -y pt -m pt -a pt -p pt_BR -T -X -g pt_BR
%langpack -l pt-PT -n Portuguese -f pt -h pt -y pt -m pt -a pt -p pt_PT -T -L pt -x pt
%langpack -l ro -n Romanian -A -F -H -Y -M -T -X
%langpack -l ru -n Russian -F -H -Y -M -A -T -X
%langpack -l si -n Sinhalese -F -H -S ctl -T -X
%langpack -l sk -n Slovak -F -H -Y -M -A -T -X
%langpack -l sl -n Slovenian -F -H -Y -M -A -T -X
#rhbz#452379 clump serbian translations together
%langpack -l sr -n Serbian -F -H -Y -A -i sr-Latn -k sr@latin -j sr_Latn -x sr*
%langpack -l ss -n Swati -F -H -X
%define langpack_lang Southern Sotho
# note that langpacks-st seems to be missing as of the time of writing, so no -F here
%langpack -l st -n %{langpack_lang} -H -X
%langpack -l sv -n Swedish -F -H -Y -M -A -T -X
%langpack -l ta -n Tamil -F -H -Y -s ctl -T -X
%langpack -l te -n Telugu -F -H -Y -X
%langpack -l th -n Thai -F -H -s ctl -c ctlseqcheck_th -X
%langpack -l tn -n Tswana -F -H -X
%langpack -l tr -n Turkish -F -A -T -X
%langpack -l ts -n Tsonga -F -H -X
%langpack -l uk -n Ukrainian -F -H -Y -M -T -X
%langpack -l ve -n Venda -F -H -X
%langpack -l xh -n Xhosa -F -H -X
%define langpack_lang Simplified Chinese
%langpack -l zh-Hans -n %{langpack_lang} -f zh-cn -a zh -p zh_CN -s cjk -T -L zh-CN -x zh-CN -g zh_CN
%define langpack_lang Traditional Chinese
%langpack -l zh-Hant -n %{langpack_lang} -f zh-tw -a zh -p zh_TW -s cjk -T -L zh-TW -x zh-TW -g zh_TW
%langpack -l zu -n Zulu -F -H -Y -X
%undefine langpack_lang
%autocorr -l en -n English
%if %{with langpacks}
%autocorr -l af -n Afrikaans
%autocorr -l bg -n Bulgarian
%autocorr -l ca -n Catalan
%autocorr -l cs -n Czech
%autocorr -l da -n Danish
%autocorr -l de -n German -L
%define autocorr_lang Lower Sorbian
%autocorr -l dsb -n %{autocorr_lang} -L
%autocorr -l el -n Greek
%autocorr -l es -n Spanish -L
%autocorr -l fa -n Farsi
%autocorr -l fi -n Finnish
%autocorr -l fr -n French -L
%autocorr -l ga -n Irish
%autocorr -l hr -n Croatian
%define autocorr_lang Upper Sorbian
%autocorr -l hsb -n %{autocorr_lang} -L
%autocorr -l hu -n Hungarian
%autocorr -l is -n Icelandic
%autocorr -l it -n Italian -L
%autocorr -l ja -n Japanese
%autocorr -l ko -n Korean
%autocorr -l lb -n Luxembourgish
%autocorr -l lt -n Lithuanian
%autocorr -l mn -n Mongolian
%autocorr -l nl -n Dutch
%autocorr -l pl -n Polish
%autocorr -l pt -n Portuguese
%autocorr -l ro -n Romanian
%autocorr -l ru -n Russian
%autocorr -l sk -n Slovak
%autocorr -l sl -n Slovenian
%autocorr -l sr -n Serbian
%autocorr -l sv -n Swedish
%autocorr -l tr -n Turkish
%autocorr -l vi -n Vietnamese
%autocorr -l zh -n Chinese
%define make_autocorr_aliases(l:) \
%{?-l: \
for lang in %{*}; do \
ln -sf acor_%{-l*}.dat acor_$lang.dat \
done \
} \
%{!?-l:%{error:-l must be present}}
# verify tarballs
gpg2 --dearmor < %{SOURCE6} > keyring.gpg
gpgv2 --keyring ./keyring.gpg %{SOURCE1} %{SOURCE0}
gpgv2 --keyring ./keyring.gpg %{SOURCE3} %{SOURCE2}
gpgv2 --keyring ./keyring.gpg %{SOURCE5} %{SOURCE4}
%setup -q -n %{name}-%{version}%{?libo_prerelease} -b 2 -b 4
rm -rf git-hooks */git-hooks
# set up git repo
git init
git config rpmbuild
git config
git config 0 # disable auto packing
git add -A
git commit -q -a -m %{name}-%{version}
#Customize Palette to add Red Hat colours
(head -n -1 extras/source/palettes/standard.soc && \
echo -e ' <draw:color draw:name="Red Hat 1" draw:color="#cc0000"/>
<draw:color draw:name="Red Hat 2" draw:color="#0093d9"/>
<draw:color draw:name="Red Hat 3" draw:color="#ff8d00"/>
<draw:color draw:name="Red Hat 4" draw:color="#abb400"/>
<draw:color draw:name="Red Hat 5" draw:color="#4e376b"/>' && \
tail -n 1 extras/source/palettes/standard.soc) > redhat.soc
mv -f redhat.soc extras/source/palettes/standard.soc
git commit -q -a -m 'add Red Hat colors to palette'
# apply patches
git am %{patches}
sed -i -e /CppunitTest_sw_ooxmlexport7/d sw/ # i686
sed -i -e /CppunitTest_sc_array_functions_test/d sc/ # ppc64le
sed -i -e /CppunitTest_sw_ww8export/d sw/
sed -i -e /CppunitTest_sc_addin_functions_test/d sc/ # aarch64/ppc64*/s390x
sed -i -e /CppunitTest_sc_financial_functions_test/d sc/ # ppc64*
sed -i -e /CppunitTest_sc_statistical_functions_test/d sc/ # aarch64/ppc64*
sed -i -e /CppunitTest_dbaccess_hsqldb_test/d dbaccess/ # i686
sed -i -e s/CppunitTest_dbaccess_RowSetClones// dbaccess/ # i686
sed -i -e /CppunitTest_services/d postprocess/ # i686
sed -i -e /CppunitTest_sd_export_ooxml2/d sd/ # i686
sed -i -e /CppunitTest_sw_ooxmlexport4/d sw/
sed -i -e /CppunitTest_xmlsecurity_signing/d xmlsecurity/
%if 0%{?rhel}
sed -i -e /CppunitTest_desktop_lib/d desktop/
sed -i -e s/CppunitTest_editeng_core// editeng/
sed -i -e /CppunitTest_writerperfect_draw/d writerperfect/
sed -i -e /CppunitTest_sw_ooxmlimport/d sw/
sed -i -e /CppunitTest_sw_ooxmlexport10/d sw/
sed -i -e /CppunitTest_sw_uiwriter/d sw/
sed -i -e /CppunitTest_sc_subsequent_filters_test/d sc/
sed -i -e /CppunitTest_sal_osl/d sal/
%ifarch s390x
sed -i -e /CppunitTest_dbaccess_hsqlbinary_import/d dbaccess/
sed -i -e /CppunitTest_vcl_svm_test/d vcl/
sed -i -e /CustomTarget_uno_test/d testtools/
git commit -q -a -m 'temporarily disable failing tests'
# Seeing .git dir makes some of the build tools change their behavior.
# We do not want that. Note: it is still possible to use
# git --git-dir=.git-rpm
mv .git .git-rpm
# path to external tarballs
EXTSRCDIR=`dirname %{SOURCE0}`
#use the RPM_OPT_FLAGS but remove the OOo overridden ones
for i in $RPM_OPT_FLAGS; do
case "$i" in
-pipe|-Wall|-Werror*|-fexceptions) continue;;
%ifarch s390 aarch64
# these builders typically do not have enough memory to link the big libs with -g2
%if 0%{?rhel}
%define distrooptions --disable-eot --disable-scripting-beanshell --disable-scripting-javascript
# fedora
%define distrooptions --enable-eot --enable-kde5 --enable-gtk3-kde5
%if %{with langpacks}
%define with_lang --with-lang='%{langpack_langs}'
aclocal -I m4
%if 0%{?flatpak}
%define flatpakoptions --with-boost-libdir=%{_libdir} --with-beanshell-jar=/app/share/java/bsh.jar --with-commons-logging-jar=/app/share/java/commons-logging.jar --with-external-dict-dir=/app/share/myspell --with-external-hyph-dir=/app/share/hyphen --with-external-thes-dir=/app/share/mythes --with-flute-jar=/app/share/java/flute.jar --with-jdk-home=/app/lib/jvm/java-1.8.0-openjdk --with-jfreereport-jar=/app/share/java/flow-engine.jar --with-libbase-jar=/app/share/java/libbase.jar --with-libfonts-jar=/app/share/java/libfonts.jar --with-libformula-jar=/app/share/java/libformula.jar --with-liblayout-jar=/app/share/java/liblayout.jar --with-libloader-jar=/app/share/java/libloader.jar --with-librepository-jar=/app/share/java/librepository.jar --with-libserializer-jar=/app/share/java/libserializer.jar --with-libxml-jar=/app/share/java/libxml.jar --with-sac-jar=/app/share/java/sac.jar FIREBIRDCONFIG=%{_libdir}/fb_config QT4INC=%{_includedir}
# TODO: enable coinmp?
# avoid running on make
touch autogen.lastrun
%configure \
%vendoroption \
%{?with_lang} \
--with-parallelism=$SMP_MFLAGS \
--disable-coinmp \
--disable-fetch-external \
--disable-openssl \
--disable-firebird-sdbc \
--disable-pdfium \
--disable-qrcodegen \
--enable-dconf \
--enable-evolution2 \
--enable-ext-nlpsolver \
--enable-ext-wiki-publisher \
--enable-gtk3 \
--enable-introspection \
--enable-release-build \
--enable-scripting-beanshell \
--enable-scripting-javascript \
--enable-symbols \
--with-build-version="%{version}-%{release}" \
--with-external-dict-dir=/usr/share/myspell \
--with-external-tar="$EXTSRCDIR" \
--with-help \
--with-system-dicts \
--with-system-libs \
--without-export-validation \
--without-fonts \
--without-lxml \
--with-gdrive-client-secret="GYWrDtzyZQZ0_g5YoBCC6F0I" \
--with-gdrive-client-id="" \
--enable-python=system \
--with-system-ucpp \
%{distrooptions} \
%{?bundling_options} \
%{?archoptions} \
ulimit -c unlimited || true
if ! make verbose=true build-nocheck; then
echo "build attempt 1 failed"
if ! make verbose=true build-nocheck; then
echo "build attempt 2 failed"
make verbose=true GMAKE_OPTIONS=-rj1 build-nocheck
#generate the icons and mime type stuff
export DESTDIR=../output
export KDEMAINDIR=/usr
export GNOMEDIR=/usr
export GNOME_MIME_THEME=hicolor
export PREFIXDIR=/usr
# TODO use empty variables? Should make the renaming hacks in %%install
# unnecessary.
pushd $WORKDIR/CustomTarget/sysui/share/libreoffice
mkdir $WORKDIR/os-integration
cp -pr $WORKDIR/CustomTarget/sysui/share/output/usr/share/* $WORKDIR/os-integration
cp -pr $WORKDIR/CustomTarget/sysui/share/libreoffice/LOKDocView-%{girapiversion}.* $WORKDIR/os-integration