# WARNING: This package is synced with FC
# (tv) fix sdk requires:
%global __requires_exclude devel\\(libreglo|devel\\(libxmlreaderlo|devel\\(libunoidllo
# (tv) disable bytecompiling out of std path:
%global _python_bytecompile_extra 0
# Workaround link issues
%define _disable_ld_no_undefined 1
# download path contains version without the last (fourth) digit
%global libo_version 24.2.5
# 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
%global vendoroption --with-vendor="Mageia"
%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 https://dev-builds.libreoffice.org/pre-releases/src
%else
%global source_url https://download.documentfoundation.org/libreoffice/src/%{libo_version}
%endif
# URL for external projects' tarballs
%global external_url https://dev-www.libreoffice.org/src
%global weak_deps 1
%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
%ifarch %arm
%bcond_with langpacks
%else
%bcond_without langpacks
%endif
# Disable firebird for RHEL
%if 0%{?rhel}
%bcond_with firebird
%else
%bcond_without firebird
%endif
# Handle KDE/Qt integration for Fedora and RHEL/EPEL
%if 0%{?rhel} && 0%{?rhel} < 10
%bcond_with kf5
%bcond_with kf6
%endif
# KDE Plasma 5 integration only for Fedora
%if 0%{?mageia}
%bcond_without kf5
%endif
# KDE Plasma 6 integration for Fedora and RHEL/EPEL 10+
%if 0%{?mageia}
%bcond_without kf6
%endif
# 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: %mkrel 2.1
# default new files are: MPLv2
# older files are typically: MPLv2 incorporating work under ASLv2
# nlpsolver is: LGPLv3
# icon-themes/karasa_jaga/COPYING: LGPLv3+
# icon-themes/colibre/COPYING-ICONS: CC0
# lotuswordpro is: Either LGPL 2.1 or SISSL 1.1
# wizards/source/access2base: Either MPLv2 or LGPLv3+
# writerperfect/source/common/DirectoryStream.cxx: MPLv2 or LGPLv2+
# extras/source/autocorr/lang/hr/license.md: GPL 2.0 or LGPL2 or MPLv1.1
# odk/examples/java/...: 3 clause BSD
License: MPL-2.0 and Apache-2.0 and LGPL-3.0-only and LGPL-3.0-or-later and CC0-1.0 and BSD-3-Clause and (LGPL-2.1-only or SISSL) and (MPL-2.0 or LGPL-3.0-or-later) and (MPL-2.0 or LGPL-2.1-or-later) and (MPL-1.1 or GPL-2.0-only or LGPL-2.1-only)
Group: Office/Suite
URL: https://www.libreoffice.org/
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
Source7: https://dev-www.libreoffice.org/extern/185d60944ea767075d27247c3162b3bc-unowinreg.dll
Source8: libreoffice-multiliblauncher.sh
Source9: %{external_url}/dtoa-20180411.tgz
Source11: %{external_url}/a7983f859eafb2677d7ff386a023bc40-xsltml_2.1.2.zip
# Unfortunately later versions of hsqldb changed the file format, so if we use a later version we lose
# backwards compatability.
# LibreOffice is also pinned to use hsqldb really old version 1.8.0 so there's currently no way building
# with system provided hsqldb without major hacking.
Source12: %{external_url}/17410483b5b5f267aa18b7e00b65e6e0-hsqldb_1_8_0.zip
Source13: %{external_url}/../extern/f543e6e2d7275557a839a164941c0a86e5f2c3f2a0042bfc434c88c6dde9e140-opens___.ttf
Source14: %{external_url}/Java-WebSocket-1.5.4.tar.gz
%global bundling_options %{?bundling_options} --without-system-hsqldb
Provides: bundled(hsqldb) = 1.8.0
Provides: bundled(xsltml) = 2.1.2
# symbolic icons
Source42: https://raw.githubusercontent.com/gnome-design-team/gnome-icons/master/apps-symbolic/Adwaita/scalable/apps/libreoffice-base-symbolic.svg
Source43: https://raw.githubusercontent.com/gnome-design-team/gnome-icons/master/apps-symbolic/Adwaita/scalable/apps/libreoffice-calc-symbolic.svg
Source44: https://raw.githubusercontent.com/gnome-design-team/gnome-icons/master/apps-symbolic/Adwaita/scalable/apps/libreoffice-draw-symbolic.svg
Source45: https://raw.githubusercontent.com/gnome-design-team/gnome-icons/master/apps-symbolic/Adwaita/scalable/apps/libreoffice-impress-symbolic.svg
Source46: https://raw.githubusercontent.com/gnome-design-team/gnome-icons/master/apps-symbolic/Adwaita/scalable/apps/libreoffice-main-symbolic.svg
Source47: https://raw.githubusercontent.com/gnome-design-team/gnome-icons/master/apps-symbolic/Adwaita/scalable/apps/libreoffice-math-symbolic.svg
Source48: https://raw.githubusercontent.com/gnome-design-team/gnome-icons/master/apps-symbolic/Adwaita/scalable/apps/libreoffice-writer-symbolic.svg
# build tools
BuildRequires: appstream-util
BuildRequires: autoconf
BuildRequires: automake
BuildRequires: bc
BuildRequires: binutils
BuildRequires: bison
BuildRequires: desktop-file-utils
BuildRequires: doxygen
BuildRequires: findutils
BuildRequires: flex
BuildRequires: gcc-c++
BuildRequires: gettext
BuildRequires: git-core
BuildRequires: gnupg2
BuildRequires: gperf
BuildRequires: hunspell-en-US
BuildRequires: icu
BuildRequires: libtool-ltdl-devel
BuildRequires: make
BuildRequires: pkgconfig(libmariadb)
BuildRequires: patch
BuildRequires: perl(Digest::MD5)
BuildRequires: perl(FindBin)
BuildRequires: perl(base)
BuildRequires: perl(lib)
%if 0%{?mageia}
BuildRequires: pkgconfig(appstream-glib)
%endif
BuildRequires: git-core
# (tv) for xmllint:
BuildRequires: libxml2-utils
# (tv) for xsltproc:
BuildRequires: xsltproc
BuildRequires: zip
# libs / headers - common
BuildRequires: %{libo_python}-devel
BuildRequires: %{libo_python}-setuptools
BuildRequires: pkgconfig(box2d)
BuildRequires: boost-devel
BuildRequires: cups-devel
BuildRequires: dragonbox-static
BuildRequires: fontpackages-devel
%if %{with firebird}
BuildRequires: firebird-devel
BuildRequires: pkgconfig(fbclient)
%endif
BuildRequires: glm-devel
BuildRequires: hyphen-devel
BuildRequires: libjpeg-turbo-devel
BuildRequires: lpsolve-devel
BuildRequires: openldap-devel
BuildRequires: pam-devel
BuildRequires: pkgconfig(bluez)
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(gtk4)
BuildRequires: pkgconfig(hunspell)
BuildRequires: pkgconfig(ice)
BuildRequires: pkgconfig(icu-i18n)
BuildRequires: pkgconfig(lcms2)
BuildRequires: pkgconfig(libabw-0.1)
BuildRequires: pkgconfig(libargon2)
BuildRequires: pkgconfig(libcdr-0.1)
BuildRequires: pkgconfig(libclucene-core)
BuildRequires: pkgconfig(libcmis-0.6)
BuildRequires: pkgconfig(libcurl)
BuildRequires: pkgconfig(libetonyek-0.1)
BuildRequires: pkgconfig(libexttextcat)
BuildRequires: pkgconfig(libfreehand-0.1)
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(libtiff-4)
BuildRequires: pkgconfig(libvisio-0.1)
BuildRequires: pkgconfig(libwebp)
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}
# Uncomment for backtraces
#BuildRequires: gdb
# libs / headers - conditional
%if 0%{?mageia}
BuildRequires: pkgconfig(libe-book-0.1)
%endif
%if %{with kf5}
# (tv) global devel pkg:
BuildRequires: cmake(Qt5Core)
BuildRequires: cmake(Qt5Gui)
BuildRequires: cmake(Qt5Widgets)
BuildRequires: cmake(Qt5X11Extras)
BuildRequires: cmake(KF5Config)
BuildRequires: cmake(KF5CoreAddons)
BuildRequires: cmake(KF5KDE4Support)
BuildRequires: cmake(KF5I18n)
BuildRequires: cmake(KF5KIO)
BuildRequires: cmake(KF5WindowSystem)
%endif
%if %{with kf6}
BuildRequires: cmake(Qt6Core)
BuildRequires: cmake(Qt6Gui)
BuildRequires: cmake(Qt6Network)
BuildRequires: cmake(Qt6Widgets)
BuildRequires: cmake(KF6Config)
BuildRequires: cmake(KF6CoreAddons)
BuildRequires: cmake(KF6I18n)
BuildRequires: cmake(KF6KIO)
BuildRequires: cmake(KF6WindowSystem)
%endif
BuildRequires: gpgme-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.18)
BuildRequires: pkgconfig(mdds-2.1)
BuildRequires: pkgconfig(zxing)
BuildRequires: pkgconfig(libnumbertext)
BuildRequires: frozen-static
BuildRequires: zxcvbn-c-devel
#ifarch %%{java_arches}
# java stuff
BuildRequires: ant
BuildRequires: java-devel
BuildRequires: junit
BuildRequires: pentaho-reporting-flow-engine
#endif
# fonts needed for tests
BuildRequires: fonts-ttf-dejavu
BuildRequires: google-crosextra-carlito-fonts
#BuildRequires: google-carlito-fonts
#BuildRequires: google-rubik-fonts
BuildRequires: google-crosextra-caladea-fonts
# KacstBook used in vcl/qa/cppunit tests
# Amiri used in vcl/qa/cppunit tests
#BuildRequires: amiri-fonts
#BuildRequires: amiri-quran-fonts
BuildRequires: fonts-ttf-arabic-kacst
BuildRequires: fonts-ttf-liberation
BuildRequires: fonts-ttf-libertine
%ifarch %arm
BuildRequires: libatomic-devel
%endif
# (tv) libreoffice metapackage requires all of the programs
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-default-to-sifr-for-gnome-light-mode.patch
# backported
Patch4: py313.patch
# not upstreamed
# fix FTB in ppc64le from sharkcz
# https://lists.freedesktop.org/archives/libreoffice/2023-August/090870.html
Patch11: lo-7.6-ppc64le-tests.patch
# icu 74 compatibility patch, from gentoo, via arch linux
# https://bugs.gentoo.org/917618
# https://bugs.documentfoundation.org/show_bug.cgi?id=158108
Patch12: libreoffice-7.5.8.2-icu-74-compatibility.patch
Patch500: 0001-disable-libe-book-support.patch
# https://lists.freedesktop.org/archives/libreoffice/2023-September/090948.html
Patch501: kahansum_test_fix_for_aarc64_s390x.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)
%endif
%description
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
Group: Office/Utilities
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
filters.
%package core
Summary: Core modules for LibreOffice
Group: Office/Utilities
Requires: %{name}-%{fontname}-fonts = %{epoch}:%{version}-%{release}
Requires: %{name}-ure%{?_isa} = %{epoch}:%{version}-%{release}
Requires: %{name}-data = %{epoch}:%{version}-%{release}
%if 0%{?weak_deps}
Requires: %{name}-plugin%{?_isa} = %{epoch}:%{version}-%{release}
%else
# these two plugins used to be part of core--keep it that way
Requires: %{name}-x11%{?_isa} = %{epoch}:%{version}-%{release}
%endif
Requires: %{name}-gtk3%{?_isa} = %{epoch}:%{version}-%{release}
Requires: fonts-ttf-liberation
Requires: fonts-ttf-dejavu
Requires: google-crosextra-caladea-fonts
Requires: google-crosextra-carlito-fonts
# users have reported these TTF fonts are needed since LO 5.3 to get
# good results from Office documents mga#20725
Recommends: fonts-ttf-urw
# (tmb), (mga#20905, mga#24315) only require the virtual provide or we will break
# live iso # feature "remove unused locales"
Requires: %{name}-langpack = %{epoch}:%{version}-%{release}
#ifarch %%{java_arches}
# rhbz#949106 libreoffice-core drags in both openjdk 1.7.0 and 1.8.0
Recommends: java-headless >= 1:1.6
#else
#Obsoletes: libreoffice-nlpsolver < 1:7.4.0.0
#Obsoletes: libreoffice-officebean < 1:7.4.0.0
#Obsoletes: libreoffice-officebean-common < 1:7.4.0.0
#Obsoletes: libreoffice-wiki-publisher < 1:7.4.0.0
#%endif
Obsoletes: libreoffice-headless < 1:4.4.0.0
Provides: libreoffice-headless = %{epoch}:%{version}-%{release}
Provides: libreoffice-headless%{?_isa} = %{epoch}:%{version}-%{release}
Obsoletes: libreoffice-bsh < 1:7.3.0.4
Obsoletes: libreoffice-rhino < 1:7.3.0.4
%description core
The shared core libraries and support files for LibreOffice.
%package pyuno
Summary: Python support for LibreOffice
Group: Development/Python
Requires: %{name}-core%{?_isa} = %{epoch}:%{version}-%{release}
Requires: %{name}-ure%{?_isa} = %{epoch}:%{version}-%{release}
Requires: %{libo_python}%{?_isa}
%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
Group: Databases
%if %{with firebird}
Requires: firebird
%endif
%ifarch %{java_arches}
Requires: java-headless >= 1:1.6
%endif
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.
#ifarch %%{java_arches}
%package officebean
Summary: JavaBean for LibreOffice Components
Group: Development/C
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
Group: Office/Utilities
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
Group: Office/Utilities
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.
#endif
%package ogltrans
Summary: 3D OpenGL slide transitions for LibreOffice
Group: Office/Utilities
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
Group: Office/Utilities
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
Group: System/Fonts/True type
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
Group: Office/Word processor
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}-ure%{?_isa} = %{epoch}:%{version}-%{release}
%description writer
The LibreOffice Word Processor application.
%package emailmerge
Summary: Email mail-merge component for LibreOffice
Group: Networking/Mail
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
Group: Office/Spreadsheet
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
Group: Graphics/Editors and Converters
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
Group: Office/Utilities
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
Group: Sciences/Mathematics
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
Group: Office/Utilities
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.
%package xsltfilter
Summary: Optional xsltfilter module for LibreOffice
Group: Office/Utilities
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
Group: Office/Utilities
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
Group: Development/Other
Requires: %{name}-ure-common = %{epoch}:%{version}-%{release}
Requires: unzip%{?_isa}
#ifarch %%{java_arches}
#rhbz#1164551 we want to ensure that a libjvm.so of this arch is available
Requires: libjvm.so%{?mark64}
#endif
%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
%description ure-common
Arch-independent part of %{name}-ure.
%package sdk
Summary: Software Development Kit for LibreOffice
Group: Development/Other
Requires: %{name}-core%{?_isa} = %{epoch}:%{version}-%{release}
Requires: %{name}-ure%{?_isa} = %{epoch}:%{version}-%{release}
Requires: unzip%{?_isa}
#ifarch %%{java_arches}
Requires: java-devel
#endif
%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}/setsdkenv_unix.sh.
%package sdk-doc
Summary: Software Development Kit documentation for LibreOffice
Group: Development/Other
%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
Group: Development/GNOME and GTK+
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 tool to check the visual appearance of dialogs.
%package librelogo
Summary: LibreLogo scripting language
Group: Office/Utilities
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
DTP.
%package data
Summary: LibreOffice data files
Group: Office/Utilities
%description data
%{name}-data contains platform-independent data files.
%package x11
Summary: LibreOffice generic X11 support plug-in
Group: Office/Utilities
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}
%if 0%{?weak_depsNO}
Supplements: (%{name}-core%{?_isa} and Xserver)
%endif
%description x11
A plug-in for LibreOffice that enables generic X11 support.
%package gtk3
Summary: LibreOffice GTK+ 3 integration plug-in
Group: Office/Suite
Requires: %{name}-core%{?_isa} = %{epoch}:%{version}-%{release}
Requires: %{name}-ure%{?_isa} = %{epoch}:%{version}-%{release}
Requires: gstreamer1(element-gtksink)%{?mark64}
Obsoletes: libreoffice-gtk2 < 1:6.2.0.0
Conflicts: %{name}-core < 5.0.0
%if 0%{?weak_depsNO}
Supplements: (%{name}-core%{?_isa} and gtk3%{?_isa})
%endif
%description gtk3
A plug-in for LibreOffice that enables integration into GTK+ 3 environment.
%package gtk4
Summary: LibreOffice GTK+ 4 experimental integration plug-in
Requires: %{name}-core%{?_isa} = %{epoch}:%{version}-%{release}
Requires: %{name}-ure%{?_isa} = %{epoch}:%{version}-%{release}
Supplements: (%{name}-core%{?_isa} and gtk4%{?_isa})
%description gtk4
An experimental plug-in for LibreOffice that enables integration into GTK+ 4 environment.
%if %{with kf5}
%package kf5
Summary: LibreOffice KDE Frameworks 5 integration plug-in
Group: Graphical desktop/KDE
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:6.3.0.0
Obsoletes: libreoffice-kde5 < 1:6.4.7.3
Obsoletes: libreoffice-kde4-debuginfo < 1:6.3.0.0
Obsoletes: libreoffice-kde5-debuginfo < 1:6.4.7.3
%if (0%{?fedora} && 0%{?fedora} < 40)
Supplements: (%{name}-core%{?_isa} and plasma-workspace)
%endif
%description kf5
A plug-in for LibreOffice that enables integration into the KDE Frameworks 5.
%endif
%if %{with kf6}
%package kf6
Summary: LibreOffice KDE Frameworks 6 integration plug-in
Group: Graphical desktop/KDE
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:6.3.0.0
Obsoletes: libreoffice-kde5 < 1:6.4.7.3
Obsoletes: libreoffice-kde4-debuginfo < 1:6.3.0.0
Obsoletes: libreoffice-kde5-debuginfo < 1:6.4.7.3
%if (0%{?fedora} && 0%{?fedora} < 40)
Supplements: (%{name}-core%{?_isa} and plasma-workspace)
%endif
%description kf6
A plug-in for LibreOffice that enables integration into the KDE Frameworks 6.
%endif
%package -n libreofficekit
Summary: A library providing access to LibreOffice functionality
Group: Development/Other
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
Group: Development/C
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
Group: Development/Other
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
%{_datadir}/gdb/auto-load%{baseinstdir}
%{_datadir}/libreoffice/gdb
%endif
%define _langpack_common(Eg:j:l:) \
%{!-E: \
%{baseinstdir}/program/resource/%{-g:%{-g*}}%{!-g:%{-l*}} \
%{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 \
%{nil}
# Mageia:
# - we depends on locales-XX so that uninstalling unwanted locales works
# (-u enables to pick a non default locales-XX pkg instead)
# - We provides libreoffice-langpack (mga#20905) as LO requires that virtual
# provide or we will break live iso # feature "remove unused locales"
# - We define Group
# - We don't recommend non existing langpacks-XX for fonts
# - We requires instead of recommending help packages (-T option)
# 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 urpmi 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
# u: requires locales-XX (w/o, we requires the proper locales-XX automatically) (MGA)
# 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 Z0123456789
%define langpack(Aa:c:EFf:g:Hh:i:j:k:L:l:Mm:n:p:r:S:s:Tu:Xx: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 \
Group: System/Internationalization \
Requires: %{name}-core%{?_isa} = %{epoch}:%{version}-%{release} \
Provides: %name-langpack = %{epoch}:%{version}-%{release} \
%{-a:Requires: autocorr-%{-a*}}%{!-a:%{-A:Requires: autocorr-%{lang}}} \
%{-f:Requires: font(:lang=%{-f*})}%{!-f:%{-F:Requires: font(:lang=%{lang})}} \
%{-h:Requires: hunspell-%{-h*}}%{!-h:%{-H:Requires: hunspell-%{lang}}} \
%{-m:Requires: mythes-%{-m*}}%{!-m:%{-M:Requires: mythes-%{lang}}} \
%{-u:Requires: locales-%{-u*}}%{!-u:Requires: locales-%{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}} \
%if 0%{?weak_deps} \
%{-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 \
Group: System/Internationalization \
Requires: %{name}-core%{?_isa} = %{epoch}:%{version}-%{release} \
%{-u:Requires: locales-%{-u*}}%{!-u:Requires: locales-%{lang}} \
\
%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*}}}} \
%{nil}
# 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 \
Group: Text tools \
Requires: locales-%{lang} \
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} \
%{nil}
# Mageia:
# - rename pt-BR -> pt_BR, pt-PT -> pt, zh-Han? -> zh_CN/TW in order to match locales-XX
# - We use 'font(:lang=xx)' deps vs 'langpacks-xx' on FC, thus we've different -f option for pt_BR & zh_*
%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 -A -T -X
%langpack -l eo -n Esperanto -F -H -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 fy -n Frisian -F -H -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
%{baseinstdir}/share/wordbook/hu_AkH11.dic
%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
%langpack -l nn -n Nynorsk -F -H -Y -M -T -X
%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 -L pt-BR
%langpack -l 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
%{baseinstdir}/share/wordbook/sl.dic
#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_CN -n %{langpack_lang} -f zh-cn -a zh -p zh_CN -s cjk -T -L zh-CN -X -g zh_CN
%{baseinstdir}/share/template/common/l10n/zh_CN_ott_normal.ott
%define langpack_lang Traditional Chinese
%langpack -l zh_TW -n %{langpack_lang} -f zh-tw -a zh -p zh_TW -s cjk -T -L zh-TW -X -g zh_TW
%langpack -l zu -n Zulu -F -H -Y -X
%undefine langpack_lang
%endif
%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 th -n Thai
%autocorr -l tr -n Turkish
%autocorr -l vi -n Vietnamese
%autocorr -l vro -n Võro
%autocorr -l zh -n Chinese
%endif
%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}}
%prep
# 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
#Customize Palette to add Red Hat colours
#TODO: have and add mageia colours
(head -n -1 extras/source/palettes/standard.soc && \
echo -e '
' && \
tail -n 1 extras/source/palettes/standard.soc) > redhat.soc
mv -f redhat.soc extras/source/palettes/standard.soc
# apply patches
%autopatch -p1 -M 99
%if 0%{?rhel}
%patch -P 500 -p1
%endif
%ifarch aarch64 s390x ppc64le
%patch -P 501 -p1
%endif
# tests failling on Mageia:
sed -i '/CppunitTest_sd_import_tests/d' sd/Module_sd.mk
sed -i '/CppunitTest_sdext_pdfimport/d' sdext/Module_sdext.mk
sed -i '/CppunitTest_dbaccess_macros_test/d' dbaccess/Module_dbaccess.mk
# Temporarily disable failing tests
%ifarch ppc64le
sed -i -e s/CppunitTest_dbaccess_RowSetClones// dbaccess/Module_dbaccess.mk
# the following actually succeeded as of 2024-02-23, remove if it succeeds again.
#sed -i -e s/CppunitTest_dbaccess_hsqldb_test// dbaccess/Module_dbaccess.mk
%endif
%ifarch aarch64
# Nothing to do
%endif
%ifarch s390x
# SwMacrosTest::testVba fails
sed -i -e s/CppunitTest_sw_macros_test// sw/Module_sw.mk
# https://bugs.documentfoundation.org/show_bug.cgi?id=125978
sed -i -e s/CustomTarget_uno_test// testtools/Module_testtools.mk
# failing testTdf149402_vba
sed -i -e s/CppunitTest_basic_macros// basic/Module_basic.mk
# Other test exclusions pointed out by sharkcz
sed -i -e /CppunitTest_vcl_svm_test/d vcl/Module_vcl.mk
sed -i -e /CppunitTest_sw_core_layout/d sw/Module_sw.mk
# https://bugs.documentfoundation.org/show_bug.cgi?id=158722
sed -i -e /CppunitTest_desktop_lib/d desktop/Module_desktop.mk
# https://bugs.documentfoundation.org/show_bug.cgi?id=159184
sed -i -e /CppunitTest_vcl_png_test/d vcl/Module_vcl.mk
# https://bugs.documentfoundation.org/show_bug.cgi?id=159211
sed -i -e /CppunitTest_sd_png_export_tests/d sd/Module_sd.mk
%endif
%ifarch riscv64
# Failed test on RV64
# confimed on 2024-06-01, version 24.2.3.2
sed -i -e s/CustomTarget_uno_test// testtools/Module_testtools.mk
sed -i -e s/CppunitTest_sw_macros_test// sw/Module_sw.mk
# https://bugs.documentfoundation.org/show_bug.cgi?id=152943
sed -i -e s/CppunitTest_sc_ucalc_formula2// sc/Module_sc.mk
%endif
#see rhbz#2072615
rm -f vcl/qa/cppunit/graphicfilter/data/tiff/fail/CVE-2017-9936-1.tiff
# Failing on multiple arches
sed -i -e /CppunitTest_svgio/d svgio/Module_svgio.mk
%build
# path to external tarballs
EXTSRCDIR=`dirname %{SOURCE0}`
#use the RPM_OPT_FLAGS but remove the LibreOffice overridden ones
for i in $RPM_OPT_FLAGS; do
case "$i" in
-pipe|-Wall|-Werror*|-fexceptions) continue;;
esac
ARCH_FLAGS="$ARCH_FLAGS $i"
done
%ifarch s390 s390x %{arm} %ix86
# these builders typically do not have enough memory to link the big libs with -g2
ARCH_FLAGS="$ARCH_FLAGS -g1"
%endif
export ARCH_FLAGS
export CFLAGS="$ARCH_FLAGS -I%{_includedir}/zxcvbn -I%{_includedir}/KF6/KConfig/"
export CXXFLAGS="$ARCH_FLAGS -I%{_includedir}/zxcvbn -I%{_includedir}/KF6/KConfig/"
# Distro build options
%define distrooptions --enable-eot %{!?with_firebird:--disable-firebird-sdbc} %{?with_kf5:--enable-kf5} %{?with_kf6:--enable-kf6}
#ifarch %%{java_arches}
%if 1
%define javaoptions --with-java --enable-ext-nlpsolver --enable-ext-wiki-publisher
%else
%define javaoptions --without-java
%endif
%if %{with langpacks}
%define with_lang --with-lang='%{langpack_langs}'
%endif
aclocal -I m4
autoconf
SMP_MFLAGS=%{?_smp_mflags}
SMP_MFLAGS=$[${SMP_MFLAGS/-j/}]
%if 0%{?flatpak}
%define flatpakoptions --with-beanshell-jar=/app/share/java/bsh.jar --with-boost-libdir=%{_libdir} --with-external-dict-dir=/app/share/hunspell --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 --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}
%if 0%{?rhel}
%global flatpakoptions %{flatpakoptions} --with-boost-libdir=%{_libdir}
%endif
%endif
# TODO: enable coinmp?
# avoid running autogen.sh on make
touch autogen.lastrun
%configure \
%vendoroption \
%{?with_lang} \
--with-parallelism=$SMP_MFLAGS \
--disable-coinmp \
--disable-community-flavor \
--disable-fetch-external \
--disable-openssl \
--disable-pdfium \
--disable-skia \
--enable-dconf \
--enable-evolution2 \
--enable-introspection \
--enable-odk \
--enable-release-build \
--enable-symbols \
--with-build-version="%{version}-%{release}" \
--with-external-dict-dir=/usr/share/hunspell \
--with-external-tar="$EXTSRCDIR" \
--with-help \
--with-system-dicts \
--with-system-libs \
--without-export-validation \
--without-fonts \
--without-lxml \
--without-system-libfixmath \
--enable-python=system \
--with-idlc-cpp=cpp \
--disable-scripting-beanshell --disable-scripting-javascript \
--enable-gtk4 \
%{javaoptions} \
%{distrooptions} \
%{?bundling_options} \
%{?archoptions} \
%{?flatpakoptions} \
--with-system-zxcvbn
if ! %make_build; then
echo "build attempt 1 failed"
make verbose=true build
fi
#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.
. ./bin/get_config_variables PRODUCTVERSIONSHORT PRODUCTVERSION SRCDIR WORKDIR PKG_CONFIG INSTDIR
pushd $WORKDIR/CustomTarget/sysui/share/libreoffice
./create_tree.sh
popd
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
%install
# remove workdir before install, to allow build on space-constrained machines
# remove the biggest offenders
rm -rf $WORKDIR/CxxObject $WORKDIR/GenCxxObject $WORKDIR/HelpTarget $WORKDIR/LinkTarget
# TODO investigate use of make distro-pack-install
#figure out the icon version
. ./bin/get_config_variables PRODUCTVERSIONSHORT PRODUCTVERSION SRCDIR WORKDIR
export PRODUCTVERSIONSHORT PRODUCTVERSION
# installation
install -m 0755 -d %{buildroot}%{instdir}
if ! make instsetoo_native PKGFORMAT=installed DISABLE_STRIP=1 EPM=not-used-but-must-be-set; then
echo - ---dump log start---
cat $WORKDIR/installation/LibreOffice/installed/logging/en-US/log_*_en-US.log
echo - ---dump log end---
echo - ---dump log start -- SDK---
cat $WORKDIR/installation/LibreOffice_SDK/installed/logging/en-US/log_*_en-US.log
echo - ---dump log end -- SDK---
echo - ---dump log start -- languagepacks---
cat $WORKDIR/installation/LibreOffice_languagepack/installed/logging/en-US/log_*_en-US.log
echo - ---dump log end -- languagepacks---
exit 1
fi
install -m 0755 -d %{buildroot}%{baseinstdir}
mv $WORKDIR/installation/LibreOffice/installed/install/en-US/* %{buildroot}%{baseinstdir}
%if %{with langpacks}
for langpack in $WORKDIR/installation/LibreOffice_languagepack/installed/install/*; do
[ `basename $langpack` = log ] && continue
cp -rp $langpack/* %{buildroot}%{baseinstdir}
rm -rf $langpack
done
%endif
mv $WORKDIR/installation/LibreOffice_SDK/installed/install/en-US/sdk %{buildroot}%{sdkinstdir}
chmod -R +w %{buildroot}%{baseinstdir}
# postprocessing and tweaks
# The installer currently sets UserInstallation to
# $ORIGIN/../libreoffice/4, which is of course total nonsense. Because I
# have no inclination to crawl through mountains of perl code to figure out
# where it comes from, I am just going to replace it by a sensible
# value here.
sed -i -e '/UserInstallation/s@\$ORIGIN/..@$SYSUSERCONFIG@' %{buildroot}%{baseinstdir}/program/bootstraprc
#configure sdk
pushd %{buildroot}%{sdkinstdir}
sed -e "s,@OO_SDK_NAME@,sdk," \
-e "s,@OO_SDK_HOME@,%{sdkinstdir}," \
-e "s,@OFFICE_HOME@,%{baseinstdir}," \
-e "s,@OO_SDK_MAKE_HOME@,/usr/bin," \
-e "s,@OO_SDK_ZIP_HOME@,/usr/bin," \
-e "s,@OO_SDK_CPP_HOME@,/usr/bin," \
-e "s,@OO_SDK_CAT_HOME@,/usr/bin," \
-e "s,@OO_SDK_SED_HOME@,/usr/bin," \
-e "s,@OO_SDK_CC_55_OR_HIGHER@,," \
-e "s,@OO_SDK_JAVA_HOME@,$JAVA_HOME," \
-e "s,@OO_SDK_OUTPUT_DIR@,\$HOME," \
-e "s,@SDK_AUTO_DEPLOYMENT@,NO," \
setsdkenv_unix.sh.in > setsdkenv_unix.sh
# ensure no unexpanded vars sneaked in
grep '@[A_Z0-9_]\+@' setsdkenv_unix.sh && exit 1
chmod 755 setsdkenv_unix.sh
# we don't want to install the input file
rm -f setsdkenv_unix.sh.in
# TODO: is this still necessary?
#fix permissions
find examples -type f -exec chmod -x {} \;
popd
#ensure a template dir for each lang
pushd %{buildroot}%{baseinstdir}/share/template
for I in %{langpack_langs}; do
mkdir -p $I
done
popd
#Set some aliases to canonical autocorrect language files for locales with matching languages
pushd %{buildroot}%{baseinstdir}/share/autocorr
%make_autocorr_aliases -l en-GB en-AG en-AU en-BS en-BW en-BZ en-CA en-DK en-GH en-HK en-IE en-IN en-JM en-NG en-NZ en-SG en-TT
%make_autocorr_aliases -l en-US en-PH
#en-ZA exists and has a good autocorrect file with two or three extras that make sense for
#neighbouring english speaking territories
%make_autocorr_aliases -l en-ZA en-NA en-ZW
%if %{with langpacks}
%make_autocorr_aliases -l af-ZA af-NA
%make_autocorr_aliases -l nl-NL nl-AW
%make_autocorr_aliases -l sv-SE sv-FI
%else
rm -f acor_[a-df-z]*.dat acor_e[lsu]*.dat
# (tv) Fix installed (but unpackaged) file on armv7:
rm -f %{buildroot}%{baseinstdir}/share/template/common/l10n/zh_CN_ott_normal.ott
%endif
popd
#rhbz#484055 make these shared across multiple applications
install -m 0755 -d %{buildroot}%{_datadir}
mv -f %{buildroot}%{baseinstdir}/share/autocorr %{buildroot}%{_datadir}/autocorr
chmod 755 %{buildroot}%{_datadir}/autocorr
ln -s %{_datadir}/autocorr %{buildroot}%{baseinstdir}/share/autocorr
#remove it in case we didn't build with gcj
rm -f %{buildroot}%{baseinstdir}/program/classes/sandbox.jar
# we don't need this in the install
rm -f %{buildroot}%{baseinstdir}/program/classes/smoketest.jar
#remove dummy .dat files
rm -f %{buildroot}%{baseinstdir}/program/root?.dat
#set standard permissions for rpmlint
find %{buildroot}%{baseinstdir} -exec chmod +w {} \;
find %{buildroot}%{baseinstdir} -type d -exec chmod 0755 {} \;
# move python bits into site-packages
install -m 0755 -d %{buildroot}%{libo_python_sitearch}
pushd %{buildroot}%{libo_python_sitearch}
echo "import sys, os" > uno.py
echo "sys.path.append('%{baseinstdir}/program')" >> uno.py
echo "os.putenv('URE_BOOTSTRAP', 'vnd.sun.star.pathname:%{baseinstdir}/program/fundamentalrc')" >> uno.py
cat %{buildroot}%{baseinstdir}/program/uno.py >> uno.py
rm -f %{buildroot}%{baseinstdir}/program/uno.py*
mv -f %{buildroot}%{baseinstdir}/program/unohelper.py* .
mv -f %{buildroot}%{baseinstdir}/program/officehelper.py* .
popd
#https://fedoraproject.org/wiki/Changes/No_more_automagic_Python_bytecompilation_phase_3
%py_byte_compile %{libo_python_executable} %{buildroot}%{baseinstdir}/program
rm -rf %{buildroot}%{baseinstdir}/program/__pycache__
# rhbz#477435 package opensymbol separately
pushd %{buildroot}%{baseinstdir}/program/resource/common/fonts
install -d -m 0755 %{buildroot}%{_fontdir}
install -p -m 0644 *.ttf %{buildroot}%{_fontdir}
popd
rm -rf %{buildroot}%{baseinstdir}/program/resource/common/fonts/*ttf
rm -rf %{buildroot}%{baseinstdir}/share/fonts/truetype/*.ttf
# move platform-independent data into shared dir
install -m 0755 -d %{buildroot}%{datadir}
rm -f %{buildroot}%{baseinstdir}/CREDITS.fodt %{buildroot}%{baseinstdir}/LICENSE* %{buildroot}%{baseinstdir}/NOTICE
# rhbz#1473749 ensure display of files in license/about dialogs works
ln -sr %{buildroot}%{lodatadocdir}/CREDITS.fodt %{buildroot}%{baseinstdir}/CREDITS.fodt
ln -sr %{buildroot}%{lodatadocdir}/LICENSE.html %{buildroot}%{baseinstdir}/LICENSE.html
#ensure that no sneaky un-prelinkable, un-fpic or non executable shared libs
#have snuck through
pic=0
executable=0
for foo in `find %{buildroot}%{instdir} -name "*" -exec file {} \;| grep ": ELF" | cut -d: -f 1` ; do
chmod +wx $foo
ls -asl $foo
result=`readelf -d $foo | grep TEXTREL` || true
if [ "$result" != "" ]; then
echo "TEXTREL Warning: $foo is b0rked (-fpic missing)"
pic=1
fi
result=`readelf -l $foo | grep GNU_STACK | grep RWE` || true
if [ "$result" != "" ]; then
echo "GNU_STACK Warning: $foo is b0rked (-noexecstack missing)"
executable=1
fi
done
if [ $pic == 1 ]; then false; fi
if [ $executable == 1 ]; then false; fi
#make up some /usr/bin scripts
install -m 0755 -d %{buildroot}%{_bindir}
pushd %{buildroot}%{_bindir}
echo \#\!/bin/sh > ooffice
echo exec libreoffice \"\$@\" >> ooffice
chmod a+x ooffice
echo \#\!/bin/sh > ooviewdoc
echo exec libreoffice --view \"\$@\" >> ooviewdoc
chmod a+x ooviewdoc
for app in base calc draw impress math writer; do
echo \#\!/bin/sh > oo$app
echo exec libreoffice --$app \"\$@\" >> oo$app
chmod a+x oo$app
done
sed -e s/LAUNCHER/unopkg/g -e s/BRAND/libreoffice/g %{SOURCE8} > unopkg
chmod a+x unopkg
sed -e s/LAUNCHER/soffice/g -e s/BRAND/libreoffice/g %{SOURCE8} > libreoffice
chmod a+x libreoffice
%if 0%{?flatpak}
sed -i -e 's|/usr/lib|/app/lib|g' unopkg libreoffice
%endif
# rhbz#499474 provide a /usr/bin/soffice for .recently-used.xbel
ln -s %{baseinstdir}/program/soffice soffice
# rhbz#499474 provide a /usr/bin/openoffice.org for backwards compat
ln -s libreoffice openoffice.org
popd
pushd %{buildroot}%{baseinstdir}/share/xdg/
chmod u+w *.desktop
ICONVERSION=`echo $PRODUCTVERSION | sed -e 's/\.//'`
for file in *.desktop; do
# rhbz#156677 remove the version from Name=
# rhbz#156067 don't version the icons
sed -i -e "s/ *$PRODUCTVERSION//g" \
-e "s/$ICONVERSION//g" \
-e "s/$PRODUCTVERSIONSHORT//g" \
$file
done
# rhbz#186515 do not show startcenter
#sed -i -e /NoDisplay/s/false/true/ startcenter.desktop
# relocate the .desktop and icon files
install -m 0755 -d %{buildroot}%{_datadir}/applications
for app in base calc draw impress math startcenter writer xsltfilter; do
sed -i -e 's/\${UNIXBASISROOTNAME}/%{name}/' $app.desktop
desktop-file-validate $app.desktop
install -m 0644 -p $app.desktop %{buildroot}%{_datadir}/applications/libreoffice-$app.desktop
done
popd
# disabled: web template
for i in calc draw impress math writer; do
desktop-file-install --vendor="" \
--remove-category="Application" \
--add-category="Office" \
--add-category="X-Mageia-CrossDesktop" \
--dir %{buildroot}%{_datadir}/applications %{buildroot}%{_datadir}/applications/*${i}*desktop
done
%if 0%{?flatpak}
# Transform the libreoffice-*.desktop files into
# org.libreoffice.LibreOffice.*.desktop ones:
solenv/bin/assemble-flatpak-desktop.sh %{buildroot}%{_datadir}/applications/ \
%{buildroot}%{_datadir}/applications/
rm %{buildroot}%{_datadir}/applications/libreoffice-*.desktop
%endif
pushd $WORKDIR/os-integration
#get rid of the gnome icons and other unneeded files
rm -rf icons/gnome applications application-registry
#relocate the rest of them
# rhbz#901346 512x512 icons are not used by anything
for icon in `find icons -path '*/512x512' -prune -o -type f -print`; do
install -m 0755 -d %{buildroot}%{_datadir}/`dirname $icon`
install -m 0644 -p $icon %{buildroot}%{_datadir}/`echo $icon | sed -e s@libreoffice$ICONVERSION-@libreoffice-@ | sed -e s@libreoffice$PRODUCTVERSION-@libreoffice-@`
done
#add our mime-types, e.g. for .oxt extensions
install -m 0755 -d %{buildroot}%{_datadir}/mime/packages
install -m 0644 -p mime/packages/libreoffice$PRODUCTVERSION.xml %{buildroot}%{_datadir}/mime/packages/libreoffice.xml
# restrict abipkgdiff to shared objects that actually have a stable ABI
for pkg in core base officebean ogltrans pdfimport calc writer impress graphicfilter postgresql ure pyuno x11 gtk3 gtk4 kf5 libreofficekit; do
cat > %{buildroot}%{baseinstdir}/program/${pkg}.abignore << _EOF
[suppress_file]
file_name_not_regexp=.*\.so\.[0-9]+
_EOF
done
# install LibreOfficeKit
install -m 0755 -d %{buildroot}%{_libdir}/girepository-1.0
install -m 0644 -p LOKDocView-%{girapiversion}.typelib %{buildroot}%{_libdir}/girepository-1.0/LOKDocView-%{girapiversion}.typelib
install -m 0755 -d %{buildroot}%{_libdir}/gir-1.0
install -m 0644 -p LOKDocView-%{girapiversion}.gir %{buildroot}%{_libdir}/gir-1.0/LOKDocView-%{girapiversion}.gir
mv %{buildroot}%{baseinstdir}/program/liblibreofficekitgtk.so %{buildroot}%{_libdir}
popd
# install LibreOfficeKit headers
install -m 0755 -d %{buildroot}%{_includedir}/LibreOfficeKit
install -m 0644 -p include/LibreOfficeKit/* %{buildroot}%{_includedir}/LibreOfficeKit
rm -rf %{buildroot}%{baseinstdir}/readmes
rm -rf %{buildroot}%{baseinstdir}/licenses
rm -rf %{buildroot}%{baseinstdir}/share/theme_definitions
# to-do, remove this in libreoffice 4.4 when --without-ppds is gone, it'll do the right thing on its own then
install -m 0755 -d %{buildroot}%{baseinstdir}/share/psprint/driver
install -m 0644 -p vcl/unx/generic/printer/configuration/ppds/SGENPRT.PS %{buildroot}%{baseinstdir}/share/psprint/driver/SGENPRT.PS
# rhbz#452385 to auto have postgres in classpath if subsequently installed
sed -i -e "s#URE_MORE_JAVA_CLASSPATH_URLS.*#& file:///usr/share/java/postgresql-jdbc.jar#" %{buildroot}%{baseinstdir}/program/fundamentalrc
# move glade catalog to system glade dir
install -m 0755 -d %{buildroot}%{_datadir}/glade/catalogs
mv %{buildroot}%{baseinstdir}/share/glade/libreoffice-catalog.xml %{buildroot}%{_datadir}/glade/catalogs
install -m 0755 -d %{buildroot}%{_datadir}/glade3/catalogs
ln -sr %{buildroot}%{_datadir}/glade/catalogs/libreoffice-catalog.xml %{buildroot}%{_datadir}/glade3/catalogs
# rhbz#1049543 install appdata
install -m 0755 -d %{buildroot}%{_datadir}/metainfo
install -m 0644 -p sysui/desktop/appstream-appdata/*.appdata.xml %{buildroot}%{_datadir}/metainfo
# rhbz#1215800 install symbolic icons
install -m 0755 -d %{buildroot}%{_datadir}/icons/hicolor/symbolic/apps
install -m 0644 -p %{SOURCE42} %{buildroot}%{_datadir}/icons/hicolor/symbolic/apps
install -m 0644 -p %{SOURCE43} %{buildroot}%{_datadir}/icons/hicolor/symbolic/apps
install -m 0644 -p %{SOURCE44} %{buildroot}%{_datadir}/icons/hicolor/symbolic/apps
install -m 0644 -p %{SOURCE45} %{buildroot}%{_datadir}/icons/hicolor/symbolic/apps
install -m 0644 -p %{SOURCE46} %{buildroot}%{_datadir}/icons/hicolor/symbolic/apps
install -m 0644 -p %{SOURCE47} %{buildroot}%{_datadir}/icons/hicolor/symbolic/apps
install -m 0644 -p %{SOURCE48} %{buildroot}%{_datadir}/icons/hicolor/symbolic/apps
%if 0%{?flatpak}
# Duplicate icons/*/*/apps/libreoffice-* as
# icons/*/*/apps/org.libreoffice.LibreOffice.* (so they end up "with both their
# original libreoffice-* name as well as the org.libreoffice name needed by
# Flatpak, which fixes the window icons", see
# "clean up desktop integration"):
for i in %{buildroot}%{_datadir}/icons/*/*/apps/libreoffice-*; do
cp -a "$i" \
"$(dirname "$i")"/org.libreoffice.LibreOffice."${i##*/apps/libreoffice-}"
done
%endif
# install man pages
install -m 0755 -d %{buildroot}%{_mandir}/man1
install -m 0644 -p sysui/desktop/man/*.1 %{buildroot}%{_mandir}/man1
for app in oobase oocalc oodraw ooffice ooimpress oomath ooviewdoc oowriter openoffice.org soffice; do
echo '.so man1/libreoffice.1' > $app.1
install -m 0644 -p $app.1 %{buildroot}%{_mandir}/man1
done
%if 0%{?_enable_debug_packages}
export DESTDIR=%{buildroot}
./solenv/bin/install-gdb-printers -a %{_datadir}/gdb/auto-load%{baseinstdir} -c -i %{baseinstdir} -p %{_datadir}/libreoffice/gdb
%endif
%if 0%{?flatpak}
# Assemble the libreoffice-*.appdata.xml files into a single
# org.libreoffice.LibreOffice.appdata.xml:
solenv/bin/assemble-flatpak-appdata.sh \
%{buildroot}%{_datadir}/metainfo/ 0
rm %{buildroot}%{_datadir}/metainfo/libreoffice-*.appdata.xml
%endif
#ifarch %%{java_arches}
# rhbz#1247399 - move stable API jars to noarch java location
install -m 0755 -d %{buildroot}%{_javadir}/%{name}
for jar in %{buildroot}%{baseinstdir}/program/classes/*.jar; do
j=`basename $jar`
case ${j%.jar} in
juh|jurt|libreoffice|ridl|unoloader|unoil|officebean)
mv $jar %{buildroot}%{_javadir}/%{name}
ln -sr %{buildroot}%{_javadir}/%{name}/$j $jar
;;
esac
done
#else
## make sure something creates this dir
#install -m 0755 -d %{buildroot}%{baseinstdir}/share/extensions
## and remove this
#rm -f %{buildroot}%{baseinstdir}/program/officebean.abignore
#endif
%check
# (temp fix until testsuite is run):
rm -f %{buildroot}%{baseinstdir}/program/classes/smoketest.jar
exit 0
make unitcheck slowcheck
# we don't need this anymore
rm -f %{buildroot}%{baseinstdir}/program/classes/smoketest.jar
%files
%files filters
%files core
%dir %{baseinstdir}
%{baseinstdir}/CREDITS.fodt
%{baseinstdir}/LICENSE.html
%dir %{baseinstdir}/help
%{baseinstdir}/help/idxcaption.xsl
%{baseinstdir}/help/idxcontent.xsl
%{baseinstdir}/help/main_transform.xsl
%{baseinstdir}/presets
%dir %{baseinstdir}/program
%{baseinstdir}/program/bootstraprc
#ifarch %%{java_arches}
%dir %{baseinstdir}/program/classes
%{baseinstdir}/program/classes/commonwizards.jar
%{baseinstdir}/program/classes/form.jar
%{baseinstdir}/program/classes/query.jar
%{baseinstdir}/program/classes/report.jar
%{baseinstdir}/program/classes/ScriptFramework.jar
%{baseinstdir}/program/classes/ScriptProviderForJava.jar
%{baseinstdir}/program/classes/table.jar
%{baseinstdir}/program/classes/unoil.jar
%{baseinstdir}/program/classes/XMergeBridge.jar
%{baseinstdir}/program/classes/xmerge.jar
#endif
%if 0%{?mageia}
%{baseinstdir}/program/core.abignore
%endif
%{baseinstdir}/program/fundamentalrc
%{baseinstdir}/program/gdbtrace
%{baseinstdir}/program/gengal
%{baseinstdir}/program/gengal.bin
%{baseinstdir}/program/intro.png
%{baseinstdir}/program/intro-highres.png
%{baseinstdir}/program/libacclo.so
%{baseinstdir}/program/libanimcorelo.so
%{baseinstdir}/program/libavmedia*.so
%{baseinstdir}/program/libbasctllo.so
%{baseinstdir}/program/libbasegfxlo.so
%{baseinstdir}/program/libbasprovlo.so
%{baseinstdir}/program/libbiblo.so
%{baseinstdir}/program/libcached1.so
%{baseinstdir}/program/libcairocanvaslo.so
%{baseinstdir}/program/libcanvasfactorylo.so
%{baseinstdir}/program/libcanvastoolslo.so
%{baseinstdir}/program/libchart*lo.so
%{baseinstdir}/program/libclewlo.so
%{baseinstdir}/program/libcmdmaillo.so
%{baseinstdir}/program/libcollator_data.so
%{baseinstdir}/program/libcomphelper.so
%{baseinstdir}/program/libconfigmgrlo.so
%{baseinstdir}/program/libcppcanvaslo.so
%{baseinstdir}/program/libctllo.so
%{baseinstdir}/program/libcuilo.so
%{baseinstdir}/program/libdbalo.so
%{baseinstdir}/program/libdbahsqllo.so
%{baseinstdir}/program/libdbaselo.so
%{baseinstdir}/program/libdbaxmllo.so
%{baseinstdir}/program/libdbpool2.so
%{baseinstdir}/program/libdbtoolslo.so
%{baseinstdir}/program/libdbulo.so
%{baseinstdir}/program/libdeployment.so
%{baseinstdir}/program/libdeploymentgui.so
%{baseinstdir}/program/libdeploymentmisclo.so
%{baseinstdir}/program/libdesktop_detectorlo.so
%{baseinstdir}/program/libdesktopbe1lo.so
%{baseinstdir}/program/libdict_ja.so
%{baseinstdir}/program/libdict_zh.so
%{baseinstdir}/program/libdlgprovlo.so
%{baseinstdir}/program/libdocmodello.so
%{baseinstdir}/program/libdrawinglayerlo.so
%{baseinstdir}/program/libdrawinglayercorelo.so
%{baseinstdir}/program/libeditenglo.so
%{baseinstdir}/program/libembobj.so
%{baseinstdir}/program/libemboleobj.so
%{baseinstdir}/program/libemfiolo.so
%{baseinstdir}/program/libevoab*.so
%{baseinstdir}/program/libevtattlo.so
%{baseinstdir}/program/libfps_officelo.so
%{baseinstdir}/program/libfwklo.so
%{baseinstdir}/program/libicglo.so
%{baseinstdir}/program/libindex_data.so
%{baseinstdir}/program/libfilelo.so
%{baseinstdir}/program/libfilterconfiglo.so
%{baseinstdir}/program/libflatlo.so
%{baseinstdir}/program/libfrmlo.so
%{baseinstdir}/program/libfsstoragelo.so
%{baseinstdir}/program/libguesslanglo.so
%{baseinstdir}/program/libhelplinkerlo.so
%{baseinstdir}/program/libhyphenlo.so
%{baseinstdir}/program/libi18npoollo.so
%{baseinstdir}/program/libi18nsearchlo.so
%{baseinstdir}/program/libi18nutil.so
%{baseinstdir}/program/libldapbe2lo.so
#ifarch %%{java_arches}
%{baseinstdir}/program/libjdbclo.so
#endif
%{baseinstdir}/program/libLanguageToollo.so
%{baseinstdir}/program/liblnglo.so
%{baseinstdir}/program/liblnthlo.so
%{baseinstdir}/program/libloglo.so
%{baseinstdir}/program/liblocalebe1lo.so
%{baseinstdir}/program/liblocaledata_en.so
%{baseinstdir}/program/liblocaledata_es.so
%{baseinstdir}/program/liblocaledata_euro.so
%{baseinstdir}/program/liblocaledata_others.so
%{baseinstdir}/program/liblosessioninstalllo.so
%{baseinstdir}/program/libmigrationoo2lo.so
%{baseinstdir}/program/libmigrationoo3lo.so
%{baseinstdir}/program/libmozbootstraplo.so
%{baseinstdir}/program/libmsfilterlo.so
%{baseinstdir}/program/libmsformslo.so
%{baseinstdir}/program/libmtfrendererlo.so
%{baseinstdir}/program/libmysql_jdbclo.so
%{baseinstdir}/program/libmysqlclo.so
%{baseinstdir}/program/libodbclo.so
%{baseinstdir}/program/libodfflatxmllo.so
%{baseinstdir}/program/liboglcanvaslo.so
%{baseinstdir}/program/liboffacclo.so
%{baseinstdir}/program/libooxlo.so
%{baseinstdir}/program/libopencllo.so
%{baseinstdir}/program/libpackage2.so
%{baseinstdir}/program/libpasswordcontainerlo.so
%{baseinstdir}/program/libpcrlo.so
%{baseinstdir}/program/libpdffilterlo.so
%{baseinstdir}/program/libprotocolhandlerlo.so
%{baseinstdir}/program/libsaxlo.so
%{baseinstdir}/program/libsblo.so
%{baseinstdir}/program/libscnlo.so
%{baseinstdir}/program/libscriptframe.so
%{baseinstdir}/program/libsdlo.so
%{baseinstdir}/program/libsdbc2.so
%{baseinstdir}/program/libsdbtlo.so
%{baseinstdir}/program/libsddlo.so
%{baseinstdir}/program/libsduilo.so
%{baseinstdir}/program/libsfxlo.so
%{baseinstdir}/program/libsimplecanvaslo.so
%{baseinstdir}/program/libslideshowlo.so
%{baseinstdir}/program/libsmlo.so
%{baseinstdir}/program/libsmdlo.so
%{baseinstdir}/program/libsofficeapp.so
%{baseinstdir}/program/libsotlo.so
%{baseinstdir}/program/libspelllo.so
%{baseinstdir}/program/libspllo.so
%{baseinstdir}/program/libstringresourcelo.so
%{baseinstdir}/program/libsrtrs1.so
%{baseinstdir}/program/libstoragefdlo.so
%{baseinstdir}/program/libsvgiolo.so
%{baseinstdir}/program/libsvllo.so
%{baseinstdir}/program/libsvtlo.so
%{baseinstdir}/program/libsvxlo.so
%{baseinstdir}/program/libsvxcorelo.so
%{baseinstdir}/program/libswdlo.so
%{baseinstdir}/program/libswlo.so
%{baseinstdir}/program/libsysshlo.so
%{baseinstdir}/program/libtextconv_dict.so
%{baseinstdir}/program/libtextconversiondlgslo.so
%{baseinstdir}/program/libtextfdlo.so
%{baseinstdir}/program/libtklo.so
%{baseinstdir}/program/libtllo.so
%{baseinstdir}/program/libucb1.so
%{baseinstdir}/program/libucbhelper.so
%{baseinstdir}/program/libucpchelp1.so
%{baseinstdir}/program/libucpcmis1lo.so
%{baseinstdir}/program/libucpdav1.so
%{baseinstdir}/program/libucpexpand1lo.so
%{baseinstdir}/program/libucpextlo.so
%{baseinstdir}/program/libucpfile1.so
%{baseinstdir}/program/libucpgio1lo.so
%{baseinstdir}/program/libucpimagelo.so
%{baseinstdir}/program/libucptdoc1lo.so
%{baseinstdir}/program/libucphier1.so
%{baseinstdir}/program/libucppkg1.so
%{baseinstdir}/program/libunordflo.so
%{baseinstdir}/program/libunopkgapp.so
%{baseinstdir}/program/libunoxmllo.so
%{baseinstdir}/program/libutllo.so
%{baseinstdir}/program/libupdatefeedlo.so
%{baseinstdir}/program/libuuilo.so
%{baseinstdir}/program/libvbaeventslo.so
%{baseinstdir}/program/libvbahelperlo.so
%{baseinstdir}/program/libvclcanvaslo.so
%{baseinstdir}/program/libvcllo.so
%{baseinstdir}/program/libwriterperfectlo.so
%{baseinstdir}/program/libxmlfalo.so
%{baseinstdir}/program/libxmlfdlo.so
%{baseinstdir}/program/libxmlscriptlo.so
%{baseinstdir}/program/libxmlsecurity.so
%{baseinstdir}/program/libxoflo.so
%{baseinstdir}/program/libxolo.so
%{baseinstdir}/program/libxsec_xmlsec.so
%{baseinstdir}/program/libxsltdlglo.so
%{baseinstdir}/program/libxsltfilterlo.so
%{baseinstdir}/program/libxstor.so
%{baseinstdir}/program/lounorc
%{baseinstdir}/program/oosplash
%{baseinstdir}/program/opencl
%{baseinstdir}/program/opencltest
%dir %{baseinstdir}/program/opengl
%{baseinstdir}/program/opengl/*.glsl
%{baseinstdir}/program/pagein-common
%{baseinstdir}/program/redirectrc
%dir %{baseinstdir}/program/resource
%dir %{baseinstdir}/program/resource/common
%dir %{baseinstdir}/program/resource/common/fonts
%{baseinstdir}/program/senddoc
%dir %{baseinstdir}/program/services
%{baseinstdir}/program/services/services.rdb
%{baseinstdir}/program/setuprc
%{baseinstdir}/program/shell/
%{baseinstdir}/program/soffice
%{baseinstdir}/program/soffice.bin
%{baseinstdir}/program/sofficerc
%{baseinstdir}/program/types
%{baseinstdir}/program/unoinfo
%{baseinstdir}/program/unopkg
%{baseinstdir}/program/unopkg.bin
%{baseinstdir}/program/uri-encode
%{baseinstdir}/program/versionrc
%dir %{baseinstdir}/share
%{baseinstdir}/share/autocorr
%dir %{baseinstdir}/share/autotext
%{baseinstdir}/share/basic
%dir %{baseinstdir}/share/classification
%{baseinstdir}/share/classification/example*.xml
%dir %{baseinstdir}/share/config
%{baseinstdir}/share/config/images_breeze.zip
%{baseinstdir}/share/config/images_breeze_svg.zip
%{baseinstdir}/share/config/images_breeze_dark.zip
%{baseinstdir}/share/config/images_breeze_dark_svg.zip
%{baseinstdir}/share/config/images_colibre.zip
%{baseinstdir}/share/config/images_colibre_svg.zip
%{baseinstdir}/share/config/images_colibre_dark.zip
%{baseinstdir}/share/config/images_colibre_dark_svg.zip
%{baseinstdir}/share/config/images_elementary.zip
%{baseinstdir}/share/config/images_elementary_svg.zip
%{baseinstdir}/share/config/images_helpimg.zip
%{baseinstdir}/share/config/images_karasa_jaga.zip
%{baseinstdir}/share/config/images_karasa_jaga_svg.zip
%{baseinstdir}/share/config/images_sifr.zip
%{baseinstdir}/share/config/images_sifr_dark.zip
%{baseinstdir}/share/config/images_sifr_dark_svg.zip
%{baseinstdir}/share/config/images_sifr_svg.zip
%{baseinstdir}/share/config/images_sukapura.zip
%{baseinstdir}/share/config/images_sukapura_svg.zip
%{baseinstdir}/share/config/images_sukapura_dark.zip
%{baseinstdir}/share/config/images_sukapura_dark_svg.zip
%dir %{baseinstdir}/share/config/soffice.cfg
%{baseinstdir}/share/config/soffice.cfg/cui
%{baseinstdir}/share/config/soffice.cfg/dbaccess
%{baseinstdir}/share/config/soffice.cfg/desktop
%{baseinstdir}/share/config/soffice.cfg/editeng
%{baseinstdir}/share/config/soffice.cfg/filter
%{baseinstdir}/share/config/soffice.cfg/formula
%{baseinstdir}/share/config/soffice.cfg/fps
%{baseinstdir}/share/config/soffice.cfg/modules
%{baseinstdir}/share/config/soffice.cfg/sfx
%dir %{baseinstdir}/share/config/soffice.cfg/simpress
%{baseinstdir}/share/config/soffice.cfg/simpress/styles.xml
%{baseinstdir}/share/config/soffice.cfg/simpress/transitions-ogl.xml
%{baseinstdir}/share/config/soffice.cfg/svx
%{baseinstdir}/share/config/soffice.cfg/svt
%{baseinstdir}/share/config/soffice.cfg/uui
%{baseinstdir}/share/config/soffice.cfg/vcl
%{baseinstdir}/share/config/soffice.cfg/writerperfect
%{baseinstdir}/share/config/soffice.cfg/xmlsec
%{baseinstdir}/share/config/wizard
%dir %{baseinstdir}/share/dtd
%{baseinstdir}/share/dtd/officedocument
%dir %{baseinstdir}/share/extensions
%dir %{baseinstdir}/share/filter
%{baseinstdir}/share/filter/oox-drawingml-adj-names
%{baseinstdir}/share/filter/oox-drawingml-cs-presets
%{baseinstdir}/share/filter/signature-line.svg
%{baseinstdir}/share/filter/signature-line-draw.svg
%{baseinstdir}/share/filter/vml-shape-types
%dir %{baseinstdir}/share/fonts
%dir %{baseinstdir}/share/fonts/truetype
%{baseinstdir}/share/fonts/truetype/fc_local.conf
%{baseinstdir}/share/gallery
%dir %{baseinstdir}/share/labels
%{baseinstdir}/share/labels/labels.xml
%{baseinstdir}/share/palette
%dir %{baseinstdir}/share/psprint
%config %{baseinstdir}/share/psprint/psprint.conf
%{baseinstdir}/share/psprint/driver
%dir %{baseinstdir}/share/Scripts
%ifarch %{java_arches} %{arm32}
%{baseinstdir}/share/Scripts/java
%endif
%dir %{baseinstdir}/share/registry
%{baseinstdir}/share/registry/draw.xcd
%{baseinstdir}/share/registry/gnome.xcd
%{baseinstdir}/share/registry/lingucomponent.xcd
%{baseinstdir}/share/registry/main.xcd
%{baseinstdir}/share/registry/math.xcd
%{baseinstdir}/share/registry/oo-ad-ldap.xcd.sample
%{baseinstdir}/share/registry/oo-ldap.xcd.sample
%dir %{baseinstdir}/share/registry/res
%dir %{baseinstdir}/share/template
%dir %{baseinstdir}/share/template/common
%{baseinstdir}/share/template/common/draw
%{baseinstdir}/share/template/common/internal
%{baseinstdir}/share/template/common/officorr
%{baseinstdir}/share/template/common/offimisc
%{baseinstdir}/share/template/common/personal
%{baseinstdir}/share/template/common/presnt
%{baseinstdir}/share/template/common/styles
%{baseinstdir}/share/template/common/wizard
%{baseinstdir}/share/template/common/l10n/
%{baseinstdir}/share/template/wizard
%dir %{baseinstdir}/share/tipoftheday
%{baseinstdir}/share/tipoftheday/*
%dir %{baseinstdir}/share/toolbarmode
%{baseinstdir}/share/toolbarmode/*
%dir %{baseinstdir}/share/wizards
%dir %{baseinstdir}/share/wordbook
%{baseinstdir}/share/wordbook/en-GB.dic
%{baseinstdir}/share/wordbook/en-US.dic
%{baseinstdir}/share/wordbook/technical.dic
%{baseinstdir}/share/xdg/
%{_bindir}/libreoffice
%{_bindir}/openoffice.org
%{_bindir}/ooffice
%{_bindir}/ooviewdoc
%{_bindir}/soffice
%{_bindir}/unopkg
%dir %{_datadir}/autocorr
%if 0%{?flatpak}
%{_datadir}/metainfo/org.libreoffice.LibreOffice.appdata.xml
%{_datadir}/applications/org.libreoffice.LibreOffice.desktop
%else
%{_datadir}/applications/libreoffice-startcenter.desktop
%endif
%{_mandir}/man1/libreoffice.1*
%{_mandir}/man1/openoffice.org.1*
%{_mandir}/man1/soffice.1*
%{_mandir}/man1/ooffice.1*
%{_mandir}/man1/ooviewdoc.1*
%{_mandir}/man1/unopkg.1*
%files base
%{baseinstdir}/program/access2base.py
%if 0%{?mageia}
%{baseinstdir}/program/base.abignore
%endif
#ifarch %%{java_arches}
%{baseinstdir}/program/classes/hsqldb.jar
%{baseinstdir}/program/classes/reportbuilder.jar
%{baseinstdir}/program/classes/reportbuilderwizard.jar
%{baseinstdir}/program/classes/sdbc_hsqldb.jar
#endif
%{baseinstdir}/program/base.abignore
%{baseinstdir}/program/libabplo.so
%{baseinstdir}/program/libdbplo.so
%if %{with firebird}
%{baseinstdir}/program/libfirebird_sdbclo.so
%endif
#ifarch %%{java_arches}
%{baseinstdir}/program/libhsqldb.so
%{baseinstdir}/program/librptlo.so
%{baseinstdir}/program/librptuilo.so
%{baseinstdir}/program/librptxmllo.so
#endif
%{baseinstdir}/share/registry/base.xcd
#ifarch %%{java_arches}
%{baseinstdir}/share/registry/reportbuilder.xcd
#endif
%{baseinstdir}/program/sbase
%if 0%{?flatpak}
%{_datadir}/applications/org.libreoffice.LibreOffice.base.desktop
%else
%{_datadir}/metainfo/libreoffice-base.appdata.xml
%{_datadir}/applications/libreoffice-base.desktop
%endif
%{_bindir}/oobase
%{_mandir}/man1/oobase.1*
#ifarch %%{java_arches}
%files wiki-publisher
%docdir %{baseinstdir}/share/extensions/wiki-publisher/license
%{baseinstdir}/share/extensions/wiki-publisher
%files nlpsolver
%docdir %{baseinstdir}/share/extensions/nlpsolver/help
%{baseinstdir}/share/extensions/nlpsolver
%files officebean
%{baseinstdir}/program/classes/officebean.jar
%{baseinstdir}/program/officebean.abignore
%{baseinstdir}/program/libofficebean.so
%files officebean-common
%{_javadir}/%{name}/officebean.jar
#endif
%files ogltrans
%{baseinstdir}/program/ogltrans.abignore
%{baseinstdir}/program/libOGLTranslo.so
%{baseinstdir}/program/opengl/basicFragmentShader.glsl
%{baseinstdir}/program/opengl/basicVertexShader.glsl
%{baseinstdir}/program/opengl/dissolveFragmentShader.glsl
%{baseinstdir}/program/opengl/fadeBlackFragmentShader.glsl
%{baseinstdir}/program/opengl/fadeFragmentShader.glsl
%{baseinstdir}/program/opengl/glitterFragmentShader.glsl
%{baseinstdir}/program/opengl/glitterVertexShader.glsl
%{baseinstdir}/program/opengl/honeycombFragmentShader.glsl
%{baseinstdir}/program/opengl/honeycombGeometryShader.glsl
%{baseinstdir}/program/opengl/honeycombVertexShader.glsl
%{baseinstdir}/program/opengl/rippleFragmentShader.glsl
%{baseinstdir}/program/opengl/reflectionFragmentShader.glsl
%{baseinstdir}/program/opengl/reflectionVertexShader.glsl
%{baseinstdir}/program/opengl/staticFragmentShader.glsl
%{baseinstdir}/program/opengl/vortexFragmentShader.glsl
%{baseinstdir}/program/opengl/vortexGeometryShader.glsl
%{baseinstdir}/program/opengl/vortexVertexShader.glsl
%{baseinstdir}/share/registry/ogltrans.xcd
%files pdfimport
%{baseinstdir}/program/pdfimport.abignore
%{baseinstdir}/program/libpdfimportlo.so
%{baseinstdir}/program/xpdfimport
%{baseinstdir}/share/registry/pdfimport.xcd
%dir %{baseinstdir}/share/xpdfimport
%{baseinstdir}/share/xpdfimport/xpdfimport_err.pdf
%_font_pkg -n %{fontname} opens___.ttf
%doc instdir/LICENSE
%files calc
%{baseinstdir}/program/calc.abignore
%{baseinstdir}/program/libanalysislo.so
%{baseinstdir}/program/libcalclo.so
%{baseinstdir}/program/libdatelo.so
%{baseinstdir}/program/libforlo.so
%{baseinstdir}/program/libforuilo.so
%{baseinstdir}/program/libnumbertextlo.so
%{baseinstdir}/program/libpricinglo.so
%{baseinstdir}/program/libsclo.so
%{baseinstdir}/program/libscdlo.so
%{baseinstdir}/program/libscfiltlo.so
%{baseinstdir}/program/libscuilo.so
%{baseinstdir}/program/libsolverlo.so
%{baseinstdir}/program/libwpftcalclo.so
%{baseinstdir}/program/libvbaobjlo.so
%{baseinstdir}/share/calc
%{baseinstdir}/share/registry/calc.xcd
%{baseinstdir}/program/pagein-calc
%{baseinstdir}/program/scalc
%if 0%{?flatpak}
%{_datadir}/applications/org.libreoffice.LibreOffice.calc.desktop
%else
%{_datadir}/metainfo/libreoffice-calc.appdata.xml
%{_datadir}/applications/libreoffice-calc.desktop
%endif
%{_bindir}/oocalc
%{_mandir}/man1/oocalc.1*
%files draw
%{baseinstdir}/program/pagein-draw
%{baseinstdir}/program/sdraw
%if 0%{?flatpak}
%{_datadir}/applications/org.libreoffice.LibreOffice.draw.desktop
%else
%{_datadir}/metainfo/libreoffice-draw.appdata.xml
%{_datadir}/applications/libreoffice-draw.desktop
%endif
%{_bindir}/oodraw
%{_mandir}/man1/oodraw.1*
%files emailmerge
%{baseinstdir}/program/mailmerge.py*
%{baseinstdir}/program/msgbox.py*
%files writer
%{baseinstdir}/program/writer.abignore
%{baseinstdir}/program/libhwplo.so
%{baseinstdir}/program/liblwpftlo.so
%{baseinstdir}/program/libmswordlo.so
%{baseinstdir}/program/libswuilo.so
%{baseinstdir}/program/libt602filterlo.so
%{baseinstdir}/program/libwpftwriterlo.so
%{baseinstdir}/program/libwriterfilterlo.so
%{baseinstdir}/program/libwriterlo.so
%{baseinstdir}/program/libvbaswobjlo.so
%{baseinstdir}/share/registry/writer.xcd
%{baseinstdir}/program/pagein-writer
%{baseinstdir}/program/swriter
%if 0%{?flatpak}
%{_datadir}/applications/org.libreoffice.LibreOffice.writer.desktop
%else
%{_datadir}/metainfo/libreoffice-writer.appdata.xml
%{_datadir}/applications/libreoffice-writer.desktop
%endif
%{_bindir}/oowriter
%{_mandir}/man1/oowriter.1*
%files impress
%{baseinstdir}/program/impress.abignore
%{baseinstdir}/program/libPresentationMinimizerlo.so
%{baseinstdir}/program/libwpftimpresslo.so
%{baseinstdir}/share/config/soffice.cfg/simpress/effects.xml
%{baseinstdir}/share/config/soffice.cfg/simpress/layoutlist.xml
%{baseinstdir}/share/config/soffice.cfg/simpress/objectlist.xml
%{baseinstdir}/share/config/soffice.cfg/simpress/transitions.xml
%{baseinstdir}/share/registry/impress.xcd
%{baseinstdir}/program/pagein-impress
%{baseinstdir}/program/simpress
%if 0%{?flatpak}
%{_datadir}/applications/org.libreoffice.LibreOffice.impress.desktop
%else
%{_datadir}/metainfo/libreoffice-impress.appdata.xml
%{_datadir}/applications/libreoffice-impress.desktop
%endif
%{_bindir}/ooimpress
%{_mandir}/man1/ooimpress.1*
%files math
%{baseinstdir}/program/smath
%if 0%{?flatpak}
%{_datadir}/applications/org.libreoffice.LibreOffice.math.desktop
%else
%{_datadir}/applications/libreoffice-math.desktop
%endif
%{_bindir}/oomath
%{_mandir}/man1/oomath.1*
%files graphicfilter
%{baseinstdir}/program/graphicfilter.abignore
%{baseinstdir}/program/libgraphicfilterlo.so
%{baseinstdir}/program/libsvgfilterlo.so
%{baseinstdir}/program/libwpftdrawlo.so
%{baseinstdir}/share/registry/graphicfilter.xcd
%files xsltfilter
%{baseinstdir}/share/xslt
%{baseinstdir}/share/registry/xsltfilter.xcd
%if 0%{?flatpak}
%{_datadir}/applications/org.libreoffice.LibreOffice.xsltfilter.desktop
%else
%{_datadir}/applications/libreoffice-xsltfilter.desktop
%endif
%files postgresql
%if 0%{?mageia}
%{baseinstdir}/program/postgresql.abignore
%endif
%{baseinstdir}/program/libpostgresql-sdbclo.so
%{baseinstdir}/program/libpostgresql-sdbc-impllo.so
%{baseinstdir}/program/services/postgresql-sdbc.rdb
%{baseinstdir}/share/registry/postgresql.xcd
%files ure
#ifarch %%{java_arches}
%{baseinstdir}/program/classes/java_uno.jar
%{baseinstdir}/program/classes/juh.jar
%{baseinstdir}/program/classes/jurt.jar
%{baseinstdir}/program/classes/libreoffice.jar
%{baseinstdir}/program/classes/ridl.jar
%{baseinstdir}/program/classes/unoloader.jar
%{baseinstdir}/program/classes/java_websocket.jar
%{baseinstdir}/program/javaldx
%{baseinstdir}/program/javavendors.xml
%{baseinstdir}/program/jvmfwk3rc
%{baseinstdir}/program/JREProperties.class
#endif
%{baseinstdir}/program/ure.abignore
%{baseinstdir}/program/libaffine_uno_uno.so
%{baseinstdir}/program/libbinaryurplo.so
%{baseinstdir}/program/libbootstraplo.so
%{baseinstdir}/program/libgcc3_uno.so
%{baseinstdir}/program/libi18nlangtag.so
%{baseinstdir}/program/libintrospectionlo.so
%{baseinstdir}/program/libinvocadaptlo.so
%{baseinstdir}/program/libinvocationlo.so
%{baseinstdir}/program/libiolo.so
#ifarch %%{java_arches}
%{baseinstdir}/program/libjava_uno.so
%{baseinstdir}/program/libjavaloaderlo.so
%{baseinstdir}/program/libjavavmlo.so
%{baseinstdir}/program/libjpipe.so
%{baseinstdir}/program/libjuh.so
%{baseinstdir}/program/libjuhx.so
%{baseinstdir}/program/libjvmaccesslo.so
%{baseinstdir}/program/libjvmfwklo.so
#endif
%{baseinstdir}/program/liblog_uno_uno.so
%{baseinstdir}/program/libnamingservicelo.so
%{baseinstdir}/program/libproxyfaclo.so
%{baseinstdir}/program/libreflectionlo.so
%{baseinstdir}/program/libreglo.so
%{baseinstdir}/program/libsal_textenclo.so
%{baseinstdir}/program/libstocserviceslo.so
%{baseinstdir}/program/libstorelo.so
%{baseinstdir}/program/libuno_cppu.so.3
%{baseinstdir}/program/libuno_cppuhelpergcc3.so.3
%{baseinstdir}/program/libuno_purpenvhelpergcc3.so.3
%{baseinstdir}/program/libuno_sal.so.3
%{baseinstdir}/program/libuno_salhelpergcc3.so.3
%{baseinstdir}/program/libunoidllo.so
%{baseinstdir}/program/libunsafe_uno_uno.so
%{baseinstdir}/program/libuuresolverlo.so
%{baseinstdir}/program/libxmlreaderlo.so
%{baseinstdir}/program/regview
%{baseinstdir}/program/services.rdb
%{baseinstdir}/program/types.rdb
%{baseinstdir}/program/uno
%{baseinstdir}/program/uno.bin
%{baseinstdir}/program/unorc
%files ure-common
#ifarch %%{java_arches}
%dir %{_javadir}/%{name}
%{_javadir}/%{name}/juh.jar
%{_javadir}/%{name}/jurt.jar
%{_javadir}/%{name}/libreoffice.jar
%{_javadir}/%{name}/ridl.jar
%{_javadir}/%{name}/unoloader.jar
#endif
%license instdir/LICENSE
%files sdk
%{sdkinstdir}/
%exclude %{sdkinstdir}/docs/
%exclude %{sdkinstdir}/examples/
%files sdk-doc
%docdir %{sdkinstdir}/docs
%license instdir/LICENSE
%{sdkinstdir}/docs/
%{sdkinstdir}/examples/
%files pyuno
%{baseinstdir}/program/pyuno.abignore
%{baseinstdir}/program/libpyuno.so
%{baseinstdir}/program/pythonloader.py*
%{baseinstdir}/program/libpythonloaderlo.so
%{baseinstdir}/program/pythonloader.unorc
%{baseinstdir}/program/pythonscript.py*
%{baseinstdir}/program/pyuno.so
%{baseinstdir}/program/scriptforge.py*
%{baseinstdir}/program/services/pyuno.rdb
%{baseinstdir}/program/services/scriptproviderforpython.rdb
%{baseinstdir}/program/wizards
%{baseinstdir}/share/Scripts/python
%exclude %{baseinstdir}/share/Scripts/python/LibreLogo
%{libo_python_sitearch}/uno.py*
%{libo_python_sitearch}/unohelper.py*
%{libo_python_sitearch}/officehelper.py*
%{libo_python_sitearch}/__pycache__/uno.cpython-*
%{libo_python_sitearch}/__pycache__/unohelper.cpython-*
%{libo_python_sitearch}/__pycache__/officehelper.cpython-*
%files librelogo
%{baseinstdir}/share/registry/librelogo.xcd
%{baseinstdir}/share/Scripts/python/LibreLogo
%files glade
%{_datadir}/glade
%{_datadir}/glade3
%files data
%{_datadir}/icons/hicolor/*/*/libreoffice*
%if 0%{?flatpak}
%{_datadir}/icons/hicolor/*/*/org.libreoffice.LibreOffice.*
%endif
%{_datadir}/mime/packages/libreoffice.xml
#ifarch %%{java_arches}
%dir %{_javadir}/%{name}
%{_javadir}/%{name}/unoil.jar
#endif
%dir %{datadir}
%doc instdir/CREDITS.fodt
%doc instdir/LICENSE.html
%doc instdir/LICENSE
%doc instdir/NOTICE
%license instdir/LICENSE
%files x11
%if 0%{?mageia}
%{baseinstdir}/program/x11.abignore
%endif
%{baseinstdir}/program/libvclplug_genlo.so
%files gtk3
%if 0%{?mageia}
%{baseinstdir}/program/gtk3.abignore
%endif
%{baseinstdir}/program/libvclplug_gtk3lo.so
%files gtk4
%if 0%{?mageia}
%{baseinstdir}/program/gtk4.abignore
%endif
%{baseinstdir}/program/libvclplug_gtk4lo.so
%if %{with kf5}
%files kf5
%{baseinstdir}/program/kf5.abignore
%{baseinstdir}/program/libkf5be1lo.so
%{baseinstdir}/program/libvclplug_kf5lo.so
%{baseinstdir}/program/libvclplug_qt5lo.so
%endif
%if %{with kf6}
%files kf6
%{baseinstdir}/program/libvclplug_kf6lo.so
%{baseinstdir}/program/libvclplug_qt6lo.so
%endif
%files -n libreofficekit
%{baseinstdir}/share/libreofficekit
%{_libdir}/girepository-1.0/LOKDocView-%{girapiversion}.typelib
%if 0%{?mageia}
%{baseinstdir}/program/libreofficekit.abignore
%endif
%{_libdir}/liblibreofficekitgtk.so
%files -n libreofficekit-devel
%{_libdir}/gir-1.0/LOKDocView-%{girapiversion}.gir
%{_includedir}/LibreOfficeKit